Lewati ke konten utama
menjadi.dev
Chapter 50.3 DevOps Lanjutan

Android Keystore & AAB

Signing key dan Android App Bundle untuk Play Store

Tujuan Pembelajaran

  • Memahami keystore, upload key, dan app signing key
  • Mampu mengelola keystore dengan aman
  • Mengerti perbedaan APK vs AAB

Analogi

Diagram

      Keystore = Kunci Brankas:
- Keystore = brankas yang berisi kunci
- Upload key = kunci untuk upload ke Play Store
- App signing key = kunci yang Play Store pakai untuk sign (setelah upload)
- Keystore hilang = tidak bisa update app SELAMANYA

APK = semua daging (semua ABI, semua density)
AAB = daging yang diiris sesuai porsi (Google Play yang racik)
    

Keystore seperti kunci brankas — paling berharga dan TIDAK BOLEH HILANG. Tanpa keystore, aplikasi tidak bisa di-update. AAB lebih efisien dari APK.

Penjelasan Konsep

Android membutuhkan digital signature untuk mendistribusikan aplikasi. Signing menggunakan Java Keystore (.jks atau .keystore file).

Key types: (1) Upload key — kamu sign app sebelum upload ke Play Console. (2) App signing key — Google sign app setelah upload (Play App Signing). Play Console menyimpan app signing key, jadi kamu tidak perlu khawatir kehilangan.

Keystore best practices: (1) Jangan commit ke git — masukkan ke .gitignore. (2) Backup keystore di tempat aman (bukan cuma di laptop!). (3) Simpan password dan alias di password manager. (4) Keystore berlaku 25+ tahun — jangan expire. (5) Kalau pakai Google Play App Signing, upload key lebih aman karena bisa reset via Google.

EAS: eas credentials bisa generate keystore atau kamu upload sendiri. EAS simpan keystore di server (encrypted) — ini aman dan memungkinkan CI/CD.

APK vs AAB: (1) APK = universal package, semua resource untuk semua device (200MB+). (2) AAB = modular package, Google Play yang generate APK optimal per device (lebih kecil). AAB sekarang WAJIB untuk app baru di Play Store.

AAB benefits: (1) Ukuran download user 15% lebih kecil. (2) Fitur dynamic delivery (download module on-demand). (3) Play Asset Delivery untuk game assets besar.

Inti yang Perlu Dipahami

Bagian ini berfokus pada memahami keystore, upload key, dan app signing key., mampu mengelola keystore dengan aman., dan mengerti perbedaan APK vs AAB. Jangan terburu-buru menghafal istilahnya. Lebih penting untuk memahami peran setiap konsep dan kapan konsep itu muncul dalam pekerjaan web development.

Saat membaca Android Keystore & AAB, gunakan tujuan belajar sebagai penanda arah. Kalau kamu sudah bisa menjelaskan tujuan itu dengan kata-katamu sendiri, berarti fondasinya mulai terbentuk.

Cara Membayangkannya

Keystore seperti kunci brankas — paling berharga dan TIDAK BOLEH HILANG. Tanpa keystore, aplikasi tidak bisa di-update. AAB lebih efisien dari APK. Analogi ini dipakai supaya konsep teknis tidak terasa melayang. Hubungkan setiap istilah dengan perannya: siapa yang meminta, siapa yang memproses, data apa yang berpindah, dan hasil apa yang diharapkan.

Kalau analoginya sudah terasa masuk akal, barulah lihat istilah teknisnya. Cara ini membuat materi lebih mudah dipahami daripada langsung menghafal definisi.

Saat Melihat Contoh Kode

Contoh kode pada chapter ini memakai bahasa bash. Bacalah contoh kode sebagai ilustrasi alur, bukan sebagai bagian yang harus langsung dihafal. keytool untuk generate keystore. validity 10000 hari (27 tahun). EAS handle semuanya otomatis. JANGAN LUPA SIMPAN KEYSTORE DAN PASSWORD!

Perhatikan nama fungsi, urutan langkah, dan data yang berpindah. Biasanya tiga hal itu sudah cukup untuk memahami hubungan antara teori dan praktik.

Konteks dalam Perjalanan Belajar

Setiap konsep di platform ini dipilih karena dipakai di industri. Fokus pada pemahaman, bukan hafalan.

Kamu sudah di bagian lanjutan. Mulai pikirkan bagaimana konsep ini dipakai di dunia kerja — bukan hanya untuk belajar, tapi untuk membangun produk nyata.

Gunakan pertanyaan reflektif dan prompt AI di akhir chapter sebagai latihan aktif. Membaca saja tidak cukup — kamu perlu menjelaskan ulang dengan kata-katamu sendiri.

Contoh Kode

bash
# Generate keystore
keytool -genkey -v -keystore release.keystore -alias myapp -keyalg RSA -keysize 2048 -validity 10000

# EAS build dengan keystore
eas build --platform android --profile production

Penjelasan Kode

keytool untuk generate keystore. validity 10000 hari (27 tahun). EAS handle semuanya otomatis. JANGAN LUPA SIMPAN KEYSTORE DAN PASSWORD!

Prompt AI

Buat disaster recovery plan kalau keystore Android hilang: (a) menggunakan Google Play App Signing untuk reset upload key, (b) cara kontak Google Play support, (c) cara migrasi user ke app baru (kalau reset tidak mungkin).

Pertanyaan Reflektif

Di mana kamu akan menyimpan keystore dan password-nya? Apakah strategi backup-mu cukup aman?