Code
Android App Starter Template – Android app starter template

The goal of this Template is to be our starting point for new projects, following the best development practices. It’s our interpretation and adaptation of the official architecture guidelines provided by Google. And it’s inspired by Google’s NowInAndroid.
Clean architecture with 3 main modules
- Data (for database, API and preferences code)
- Domain (for business logic and models)
- AndroidApp (for UI logic, with MVVM)
Tests
- Mockk library
- Unit tests
- Application tests
- example on how to work with tests
- Activity tests (with Compose Testing)
- example on how to work with coroutine scopes in tests
Other useful features
- This version brings Modularization
- Version Management (with Version catalog)
- Shared Build Logic (with Convention plugins)
- Dependency injection (with Hilt)
- Network calls (with Ktor)
- Reactive programming (with Kotlin Flows)
- Android architecture components to share ViewModels during configuration changes
- Splash Screen Support
- Google Material Design library
- Declarative UI (with Jetpack Compose)
- Compose Navigation (with Hilt Support and Assisted Inject Example)
- Edge To Edge Configuration
Getting started
- Download this repository extract and open the template folder on Android Studio
- Rename the app package
io.bloco.template
- Check if the manifest package was renamed along with the package
- Replace composables with the Template name
- On
androidApp/build.gradle
, change the applicationId to the new app package - On
androidApp/build.gradle
, update the dependencies Android Studio suggests - On
string.xml
, set your application name
If you run the Project inside the NewProjectCI all the above steps are done by you automatically, you can run the project using Android Studio then Opening the Main.kt file and press “Run MainKt”. You will be prompted about a new package name and app name
- On
Theme.kt
&Color.kt
set your application style - Replace the App Icons
- Delete unwanted example files
- Run
./gradlew dependencyUpdates
and check for dependencies - Ready to Use
And you’re ready to start working on your new app.
