A template Android Application Project.
Several project files refer to the "Android App Template", and each Kotlin file declares itself part
of the com.finwise
package. Update these files to suit the client's new
application.
- In
app/build.gradle
, modifyandroid.namespace
andandroid.defaultConfig.applicationId
. - Change the
rootProject.name
variable insettings.gradle
. - Rename the app's themes in
Theme.kt
andthemes.xml
. - In
strings.xml
, set theapp_name
string resource. - Update the package declarations in all Kotlin files by performing a project-wide find and
replace of
com.finwise
. - Update the package name
com.finwise
incontinuous-deployment.yml
.
- See Generate keystore for instructions
- Make a note of the alias and password being used as this is required for github secrets
- Configure Github secrets for
IBA_GOOGLEPLAY_KEYSTORE
,IBA_GOOGLEPLAY_KEYSTORE_PASSWORD
,IBA_GOOGLEPLAY_KEYSTORE_KEY_ALIAS
,IBA_GOOGLEPLAY_KEYSTORE_KEY_PASSWORD
andGOOGLEPLAY_SERVICE_ACCOUNT
. - This is done via your github repo -> settings -> security -> secrets & variables -> actions
- For
IBA_GOOGLEPLAY_KEYSTORE
, you need to convert your keystore file to base64 encoding, use a tool like this the output is your secret forIBA_GOOGLEPLAY_KEYSTORE
- You can configure the deploy section of the .yml section to automatically create a new test track on google play
- In order for CI/CD environment to be able to upload .apk or .aab via API, you need to generate Service Account JSON (
GOOGLEPLAY_SERVICE_ACCOUNT
private key) and add it to Github Secrets.- Create or get access to the Google Cloud Project
- Enable the Google Play Developer API for this project
- Create a service account for the project
- Copy the email that was generated for the service account, it will look something like this: [email protected], save this in github secrets as
GOOGLEPLAY_SERVICE_ACCOUNT
If the deployment workflow is not yet required, you can disable the action manually in Github.
Build and run
./gradlew assembleDebug
./gradlew installDebug
Unit test
./gradlew testDebugUnitTest
Instrumentation test
./gradlew connectedandroidtest