Saltar al contingut principal

Generació de l'APK

APK la depuració​

L'APK de debug es genera automàticament en executar l'aplicació des de Android Studio o mitjançant el wrapper de Gradle:

./gradlew assembleDebug

L'artefacte es genera a:

app/build/outputs/apk/debug/app-debug.apk

L'APK de debug porta la signatura de debug d'Android Studio i no es pot distribuir a Google Play. És adequat per a proves internes i instal·lació directa en dispositius mitjançant adb.

Allibera l'APK​

Per generar un APK signat apte per a distribució:

1. Crear un keystore​

Si no disposeu d'un keystore de signatura:

keytool -genkey -v \
-keystore trainium-release-key.jks \
-alias trainium \
-keyalg RSA \
-keysize 2048 \
-validity 10000

2. Configurar la signatura a build.gradle.kts​

Afegir la configuració de signingConfigs a app/build.gradle.kts:

android {
signingConfigs {
create("release") {
storeFile = file("../trainium-release-key.jks")
storePassword = System.getenv("KEYSTORE_PASSWORD")
keyAlias = "trainium"
keyPassword = System.getenv("KEY_PASSWORD")
}
}
buildTypes {
release {
isMinifyEnabled = false
signingConfig = signingConfigs.getByName("release")
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
}

Es recomana llegir les contrasenyes des de variables d'entorn (System.getenv) en lloc d'incloure-les en text pla al fitxer de build.

3. Generar l'APK signat​

./gradlew assembleRelease

L'artefacte es genera a:

app/build/outputs/apk/release/app-release.apk

Minificació i ofuscació​

A la configuració actual, isMinifyEnabled = false al bloc release. Això vol dir que el codi no es minifica ni s'ofusca amb R8/ProGuard. Per a una distribució en producció es recomana habilitar la minificació:

release {
isMinifyEnabled = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}

En habilitar la minificació amb Supabase i kotlinx.serialization cal afegir les regles de ProGuard corresponents per preservar les classes serialitzables. El fitxer proguard-rules.pro inclòs al projecte està buit en aquesta versió.

Instal·lació via adb​

Per instal·lar l'APK directament en un dispositiu connectat:

adb install app/build/outputs/apk/debug/app-debug.apk

Si hi ha diversos dispositius connectats, especifiqueu la destinació:

adb -s <device-serial> install app-debug.apk

Per obtenir la llista de dispositius connectats:

adb devices

Requisits del dispositiu destinació​

RequisitValor
API mínima24 (Android 7.0 Nougat)
API objectiu36
Arquitecturaarm64-v8a, armeabi-v7a, x86_64 (segons el dispositiu)
Permisos en instal·lacióINTERNET, ACCESS_NETWORK_STATE
Connexió a internetObligatòria per al funcionament de laplicació