android/architecture-templates
android/architecture-templates has 3,171 GitHub stars and 386 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-07 18:43 UTC. Last push 2026-10-30.
✅ What it is: A collection of templates featuring a layered architecture ready to be used in greenfield projects or quick experiments, following the Guide to app architecture.
Measured star growth
- in 24h
- 0
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalAndroid Architecture Starter Templates
✅ What it is: A collection of templates featuring a layered architecture ready to be used in greenfield projects or quick experiments, following the Guide to app architecture.
🙅 What it's not: These templates are not designed to be educational code samples. For that, check out Architecture Samples, the Now In Android sample or Compose samples.
Templates are compatible with the latest stable version of Android Studio.
| Template | Description |
|---|---|
base |
Reactive architecture, Compose, database, single module |
multimodule |
Base template + multimodule |
Screenshots

Features
🖼️ UI
The app contains a simple Compose UI that shows a list of
saved strings and lets the user save new ones.
🧱 Build
🏠 Architecture
- Room Database
- Dependency injection with Hilt
- Jetpack ViewModel
- UI using Jetpack Compose and Material3
- Jetpack Navigation
- Reactive data layer
- Kotlin Coroutines and Flow
- Unit tests
- UI tests using fake data with Hilt
Usage
- Clone the repository, optionally choosing a branch and a target directory. For example, to check out the
basebranch:
git clone https://github.com/android/architecture-templates.git --branch base targetDirectory
For the customizer to work, dont open the project in Android Studio yet.
- Run the customizer script:
bash customizer.sh your.package.name DataItemType [YourAppName]
your.package.nameis your app ID (should be lowercase)DataItemTypeis used for the name of the screen, exposed state and data base entity (should be PascalCase).- Optionally, you can specify a name for your application (should be in PascalCase).
Note: the customizer script requires bash 4 and above. You might have to install a modern version on macOS:
brew install bash
License
This code is distributed under the terms of the Apache License (Version 2.0). See the license for more information.
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,765 starspublic-apis/public-apis
A collective list of free APIs
496,987 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
440,714 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,138 stars