This is a base Android scaffold project that has all configuration & setup created. So we can reduce the efforts of basic project setup & project level boilerplate code.
Production, Staging, Development (with abstract properties) Modes: Debug, Release.
Abstract layer for a custom logger. It has default implementation of Sentry. It can again be replaced with any other services.
Crashalytics setup that works in Release Mode.
Abstract layer for a Custom event logging. It has a default implementation of Firebase Analytics. It can again be replaced with any other services.
Firebase performance integration to check App freezing, network latency monitoring.
Integration of firebase remote config.
Flavor-wise application-id overridden. So that the same application with different flavors can be installed simultaneously.
Force upgrade setup based on Firebase Remote config.
Currently, it has two configuration
- Latest App Version (Build Number)
- Latest Stable App Version (Build Number)
If the latest app version is higher then the current version, it will trigger Flexible Update (Skipable).
If the current app version is below the latest stable version, then it will trigger an Immediate (Force) update.
Coroutines based Start Activity For Result and Permission manager implementation
- Retrofit
- Kotlin Coroutines
- Kotlinx Serialization
- Jetpack Room
- Jetpack Paging
- Android KTX
- Material Themes
Codemagic.yaml file has been added at the root of source code. It contains sample pipelines for different build environments.
- Connect the project repository to codemagic using this guide. Codemagic will auto-detect the yaml file which has sample workflow added.
- Select workflow and the branch from which buid to be generated. Start Build and it should generate the build.
- Except
production-store
workflow, all the workflows are configured to use Debug keystore generated on the fly from Codemagic's build machine. - For
production-store
workflow, the keystore related environment variables must be replaced with the project specific keystore info.
Once codemagic generates the artifacts, we can distribute the apps in various ways.