Build APK
Salah satu langkah terakhir yang perlu dilakukan setelah mengembangkan aplikasi Android adalah membuat berkas executable dalam format APK (Android Application Package).
Berkas ini yang akan didistribusikan oleh Google Play ke pengguna. Jadi, ketika Anda hendak mempublikasikan Aplikasi Anda ke Google Play, berkas inilah yang harus Anda unggah.
Jika Anda belum memahami berkas APK, Anda dapat menyamakannya dengan berkas exe di windows atau ipa di iOS.
Cara membuat file APK di Android terbilang cukup mudah. Anda dapat menggunakan sebuah wizard atau melalui command line. Pada modul ini, kita akan fokus menggunakan wizard.
Membuat APK terbagi menjadi 2 yakni dengan menggunakan:
- Default keystore
- Custom keystore
Keystore adalah sebuah berkas biner yang berisi informasi tentang satu atau lebih private key. Private key ini digunakan untuk mencegah pemalsuan aplikasi. Konsep umumnya adalah:
- Sistem Operasi Android mewajibkan semua APK di-sign sebelum terpasang ke dalam device.
- Proses signing ini membutuhkan Public dan Private Key.
- Proses signing ini berlangsung selama pembuatan APK dalam mode debug maupun released.
- Sebuah sertifikat digital public key, atau identity certificate, berisi informasi mengenai sertifikat itu sendiri dan metadata dari pemilik sertifikat tersebut. Pemilik sertifikat ini biasanya adalah developer yang mengembangkan aplikasi.
- Public key yang digunakan dalam proses signing di atas akan dilampirkan di dalam berkas APK. Proses ini dilakukan secara otomatis oleh Android Studio.
- Ketika Anda hendak memperbarui Aplikasi Anda pada Google Play, maka Google Play hanya akan menerimanya bila keystore yang digunakan sama dengan keystore yang pertama kali Anda gunakan ketika mengunggah Aplikasi tersebut ke Google Play.
Kegunaan lain dari keystore adalah:
- Untuk integrasi ke layanan Google seperti Google Maps dengan menggunakan nilai hash (digest SHA1) di dalamnya.
- Untuk integrasi ke layanan API Facebook dengan menggunakan key hash base64 yang terkandung di dalam keystore.
Keystore merupakan sebuah berkas penting yang harus Anda jaga, terlebih ketika aplikasi Anda memiliki jumlah unduhan pengguna yang banyak. Sebabnya, kelalaian menjaga keystore ini dapat menghalangi Anda untuk memperbarui aplikasi. Akibat terburuk adalah Anda harus melakukannya dari awal lagi.
Berikut adalah tips yang bisa Anda gunakan untuk mengamankan keystore :
- Pilih kata kunci (password) yang sulit ditebak. Kombinasikan angka, alfabet dan simbol dalam membuatnya.
- Bedakan antara keystore password dan key password ketika membuat berkas APK dengan custom keystore.
- Jangan memberikan keystore kepada orang yang tidak dipercaya apalagi meletakkannya di dalam berkas proyek aplikasi.
- Letakan di tempat yang Anda ingat dan aman tentunya.
Untuk memahami hal di atas lebih jauh, baca tautan berikut:
Jika Anda ingin menemukan default keystore Anda, maka pengguna Mac dapat menemukannya di ~/.android/debug.keystore. Sementara itu pengguna Windows bisa menemukannya di C:\User\YourUser\.android\debug.keystore.
CodeLab Build APK
Untuk mulai melakukan proses build APK, Anda dapat mengikuti langkah berikut:
- Buka kembali proyek kosong yang telah kita buat sebelumnya.
- Sekarang klik menu Build → Build Bundles(s) / APK(s) → Build APK(s).
- Gradle akan membuat berkas APK secara otomatis. Lama proses ini bergantung pada seberapa kompleks Aplikasi yang Anda buat dan jumlah dependency yang Anda gunakan serta spesifikasi perangkat yang Anda gunakan.
- Ketika berhasil, Anda dapat melihat notifikasi pada sudut kanan atas Android Studio:Sekarang tinggal Anda tekan tautan yang terdapat pada notifikasi tersebut. Secara otomatis Anda akan diarahkan ke lokasi di mana berkas APK disimpan.Biasanya lokasinya mengikuti struktur project-name/module-name/build/outputs/apk/. Jika proyek bernama HelloWorld, maka lokasinya adalah HelloWorld/app/build/outputs/apk/apk-debug.apk.
- Sekarang coba Anda pindahkan berkas APK yang baru dibuat ke dalam sebuah peranti (device). Buka lokasi berkas tersebut menggunakan file explorer pada gawai tersebut. Kemudian lakukan instalasi aplikasi seperti biasa.Selamat, aplikasi Android baru Anda sudah terpasang di peranti. Berkas APK ini bisa Anda berikan ke pengguna lain untuk dicoba.
- Mudah bukan? Sekarang kita lanjut membuat APK dengan custom keystore. Ingat, APK yang baru saja Anda buat akan ditolak oleh Google Play Store jika Anda mencoba mengunggahnya ke Google Play Store karena Anda membuat APK dengan menggunakan default keystore. Agar dapat diterima, Anda harus menjalankan proses signing atau generate APK tersebut dengan menggunakan custom keystore.
- Kembali ke Proyek, klik Build → Generate Signed APK.
- Selanjutnya, pilih APK.
Apa bedanya dengan Android App Bundle? Android App Bundle adalah format baru yang mempunyai fitur dengan ukuran unduh lebih kecil, fitur on-demand aplikasi dan pembuatan modul asset tertentu saja. Anda bisa mempelajarinya lebih dalam di sini. - Selanjutnya, pilih create new.
Pada form yang tampil lengkapi isian di dalamnya. Contoh pengisiannya adalah seperti gambar di bawah ini:
Berikut penjelasan tiap isiannya:Keystore path Anda perlu menentukan di mana lokasi keystore Anda Password Isikan keystore password minimal 6 digit dan bedakan dengan keypassword di bawahnya Alias Alias dari keystore Password keypassword Validity Berapa lama keystore Anda akan valid (dalam hitungan tahun) Firstname hingga Country Code Isikan metadata. Penting untuk mengisi data ini dengan benar. - Setelah selesai klik OK.
- Dialog yang di awal akan secara otomatis terisi ketika Anda sudah berhasil mengisi form sebelumnya. Klik next untuk melanjutkan.
- Jika muncul pertanyaan kata kunci, masukkan kata kunci yang Anda gunakan untuk laptop atau komputer.
- Selanjutnya tentukan di mana Anda menyimpan APK yang dihasilkan. Di sini kami membiarkannya tetap default. Klik finish untuk memulai generate signed APK.
Anda diharuskan memilih Signature V1 atau V2. Google menyarankan untuk memilih V2 karena signature jenis ini akan membuat instalasi APK lebih cepat. Selain itu, ia lebih aman terhadap pergantian (alteration) program dengan tujuan yang tidak baik. Ikuti tautan ini untuk keterangan lebih lanjut.
https://developer.android.com/about/versions/nougat/android-7.0.html#apk_signature_v2 - Perhatikan gradle process di status bar bagian bawah untuk melihat progress signed/generate APK.
- Ketika berhasil, notifikasi seperti berikut akan tampil :
- Selamat APK versi released Anda telah berhasil dibuat. Proses ini perlu ketika Anda hendak mempublikasikan aplikasi Anda di Google Play Store dan memperbaruinya di kemudian waktu.Ketika Anda memperbarui aplikasi, jangan lupa mengubah nilai yang ada di dalam build.gradle(Module:app):
- versionCode 2 //Incremental
- versionName "2.0"