Template de repositorio Android "todo incluido": Kotlin + Jetpack Compose con CI/CD, releases automáticas, Dependabot y documentación profesional.
"All-in-one" Android repository template: Kotlin + Jetpack Compose with CI/CD, automated releases, Dependabot and professional documentation.
- App base mínima en Kotlin + Jetpack Compose (Material 3): pantalla contador.
- CI/CD listo: al pushear un tag
v*se compila, corre tests y publica un APK firmado en Releases. - Dependabot: actualizaciones semanales de Gradle y GitHub Actions.
- Plantillas de issues y PR bilingües.
- Documentación completa: README, CONTRIBUTING, SECURITY, CHANGELOG.
- Crea un repo desde este template en GitHub (botón Use this template).
- Clona tu nuevo repo:
git clone https://github.com/TU_USUARIO/TU_REPO.git
cd TU_REPO- Renombra el paquete
com.example.apppor el tuyo (app/build.gradle.kts→namespaceyapplicationId, y mueve los archivos deapp/src/main/java/). - Cambia el
app_nameenapp/src/main/res/values/strings.xml. - Compila:
./gradlew assembleDebug - Para publicar una release, crea un tag:
git tag v0.1.0
git push origin v0.1.0El CI publicará AndroidStarter-v0.1.0.apk en Releases automáticamente.
./gradlew test
./gradlew assembleDebugapp/src/main/
├── AndroidManifest.xml # Manifiesto
├── java/com/example/app/
│ ├── MainActivity.kt # Entry point
│ ├── ui/counter/ # Lógica y pantalla del contador
│ │ ├── Counter.kt # Lógica pura (testeable en JVM)
│ │ └── CounterScreen.kt # UI Compose
│ └── ui/theme/ # Tema Material 3
└── res/
├── values/ # Strings, temas
├── xml/ # Reglas de backup/extracción
└── mipmap/ # Iconos
.github/
├── workflows/build.yml # CI/CD
├── dependabot.yml # Dependabot
├── CODEOWNERS # Responsables por defecto
├── ISSUE_TEMPLATE/ # Plantillas de issues
└── PULL_REQUEST_TEMPLATE.md # Plantilla de PR
Este template ya funciona tal cual, pero antes de usarlo en producción revisa:
| Archivo | Acción |
|---|---|
app/build.gradle.kts |
Renombra namespace / applicationId y el paquete com.example.app. Actualiza versionName (o pásalo como -PversionName=x.y.z en CI). |
app/src/main/res/values/strings.xml |
Cambia app_name. |
.github/workflows/build.yml |
Cambia el env.APK_NAME (nombre del APK de release) y, si renombras la app, el name de la release. |
README.md badges |
Apuntan a Aliienkingmx/android-starter-template; actualízalos a tu repo. |
.github/CODEOWNERS |
Sustituye @Aliienkingmx por tus responsables. |
LICENSE |
Sustituye el titular del copyright. |
settings.gradle.kts |
Actualiza rootProject.name. |
Nota sobre el APK publicado: el CI publica el APK de debug firmado con el keystore de debug generado en cada run. Es suficiente para pruebas y demos; para distribución en Play Store configura un keystore de producción (ver
app/build.gradle.kts).
| Tecnología | Versión |
|---|---|
| Kotlin | 2.4.10 |
| Jetpack Compose (Material 3) | BOM 2026.06.01 |
| AGP | 9.3.1 |
| Gradle | 9.6.1 |
| minSdk / targetSdk / compileSdk | 24 / 36 / 36.1 |