To download the latest build of the apk
click here.
To setup the build environment, we first need to download Node.js as the apps are developed using react-native
.
Node.js can be download from their official website. This page lists the latest and LTS version of the node software for all the popular operating systems. Node.js also comes with node package manager (npm
). To check everything is installed properly one can run the following command from a terminal/powershell/cmd:
npm -v
If node
and npm
are installed properly, this command will show the installed npm version.
Once node
and npm
are installed, we have to install expo
. expo
adds one more layer to react-native
and helps to get started and manage the project without investing too much time. The following command installs expo
:
npm install -g expo-cli
To use expo
one requires an expo
account which can be created from the expo
website.
As the Saarromanus smaprthopne app uses Google Map, one will also need a Google Map API key to successfully run the app. Without the API key whenever anyone goes to the page that has map, the app will crash and exit.
To get an API key:
- Visit the Google Cloud Platform Console.
- Click the project drop-down and select or create the project for which you want to add an API key.
- Click the menu button and select APIs & Services > Credentials.
- On the Credentials page, click Create credentials > API key.
- The API key created dialog displays your newly created API key.
- Click Close.
- The new API key is listed on the Credentials page under API keys. (Just to build the app, there is no need to restrict the key)
Once we have the API key, we need to add it in our app.json
file.
The app.json
file can be found in the follwoing path inside the project:
SmartphoneApps/Saarromanus/app.json
Inside app.json
there is a field calld "android"
at the end of the file. We have to place our key in that field. The field path is:
"android" > "config" > "googleMaps" > "apiKey"
The section will look like the following once the API key is placed there:
"android": {
"package": "com.se.saarromanus",
"config": {
"googleMaps": {
"apiKey": "YOUR_NEWLY_CREATED_API_KEY_WILL_GO_HERE"
}
}
}
With node
, npm
, expo-cli
being installed and expo
account & Google Map API key is being created, we are just two steps away to build the app. One is to install the app dependencies.
To install all the dependencies, we have to open a terminal/command prompt/powershell inside the Saarromanus
(path: SmartphoneApps/Saarromanus/
) folder or we can also cd
into that folder. Once we are inside Saarromanus
folder in our terminal, we just need to run the following command to install all the dependencies:
npm i
- If it complains that it can not find any
package.json
file, it means we are not inside theSaarromanus
folder - It is perfectly ok to get some warnings (
WARN
) during the dependency installation as long as there is no error (ERR
)
The next step is to sign in using our expo account. To sign in we will use the follwing command:
expo login
This will ask for username and password. We have use the ones we used to create the expo account.
- Please note, in some terminal/command-promt, password will not be visible at all. Not even as * . Just hit enter once you are done typing the password
We are now completely ready to run/build our app.
Here is a list of some basic commands (All of these commands should be executed form Saarromanus
folder):
expo start
This will lunch a webpage in the browser. We can connect an android/ios device/emulator and select run on android/ios from the lunched webpage to run the app in our device. To run the app on physical device, we also need to download and install the Expo
app from playstore/app-store.
- IOS client: https://apps.apple.com/de/app/expo-client/id982107779?l=en
- Android client: https://play.google.com/store/apps/details?id=host.exp.exponent&hl=en
expo build:android
While building for android expo
will ask for keystore
. This documentation page tells more about this and also links a Google's documentation page on keystore
. For simplicity, it is ok, if we let expo
to manage our keystore.
expo build:ios
For iOS expo
will ask for Distribution Certificate
. The keystore
page also talks about this. Here also we can let expo
to manage it for us.
Once the building is done, it will provide a link in the terminal which can be used to download the android or ios build. Or we can login to our expo account to download the build and also to monitor build status.
Once the binaries (.apk
/ .ipa
) are built, we can easily submit to the respective app store by following the provided instruciton page.
Source | Link |
---|---|
Official | https://support.google.com/googleplay/android-developer/answer/113469?hl=en |
Unofficial | https://instabug.com/blog/how-to-submit-your-app-to-the-google-play-store/ |
Source | Link |
---|---|
Official | https://help.apple.com/app-store-connect/#/dev34e9bbb5a |
Unofficial | https://support.mobincube.com/hc/en-us/articles/201068598-How-to-deliver-your-IPA-file-to-AppStore |
LICENSE
Please read the CMS build instruction here
Saarromanus project is MIT licensed.