Tema
/
Mobiliosios programėlės KOTLIN
Pamoka 13 / 14 Išleidimas ir šlifavimas ~50 min

Sukurk leidimo build.gradle.kts — pasirašymas ir R8

Kodo stulpelyje — app/build.gradle.kts leidimo konfigūracija. Sąžininga pastaba: tikroji Pica (mokymosi programėlė) leidimą palieka su optimization { enable = false } ir be pasirašymo — to pakanka kurse. Čia parodyta, ką prideri, kad realiai išleistum.

Trys dalys:

  • Versijos. versionCode (sveikasis skaičius) didinamas kiekvieną kartą įkeliant į Play — Google atmeta pakartotinį numerį. versionName — ką mato vartotojas („1.0").
  • signingConfigs. Nurodo release raktinę (keystore). Slaptažodžius imk iš aplinkos kintamųjų (System.getenv), niekada nerašyk jų į build.gradle.kts (jis eina į git!).
  • buildTypes.release. Prijungia pasirašymą, įjungia optimization { enable = true } (R8) ir nurodo proguard-rules.pro.

Release raktinė sukuriama vieną kartą (keytool):

keytool -genkeypair -v -keystore pica-release.jks \
  -keyalg RSA -keysize 2048 -validity 10000 -alias pica

Spąstai (AGP 9). Daugumoje senesnių pavyzdžių pamatysi:

release {
    isMinifyEnabled = true       // ❌ AGP 9 — nebėra
    isShrinkResources = true     // ❌ AGP 9 — nebėra
}

AGP 9 šiuos flag'us pakeitė optimization { } bloku:

release {
    optimization { enable = true }   // ✅ AGP 9
}

Nukopijavęs seną pavyzdį gausi Unresolved reference: isMinifyEnabled. Naujas blokas — vienas iš tų dalykų, kuriuos AGP 9 pakeitė tyliai.