Guna menyiapkan perilisan aplikasi, Anda perlu mengonfigurasi, mem-build, dan menguji versi rilis aplikasi. Tugas konfigurasi melibatkan tugas pembersihan kode dasar dan modifikasi kode yang membantu mengoptimalkan aplikasi Anda. Proses build serupa dengan proses build debug dan dapat dilakukan menggunakan JDK dan Android SDK Tools.
Tugas pengujian berfungsi sebagai pemeriksaan akhir yang membantu memastikan aplikasi Anda berfungsi sesuai harapan dalam kondisi sebenarnya. Firebase menawarkan serangkaian besar perangkat pengujian fisik dan virtual melalui Firebase Test Lab yang dapat digunakan untuk meningkatkan kualitas aplikasi Anda.
Setelah selesai menyiapkan aplikasi untuk dirilis, Anda memiliki file APK bertanda tangan, yang dapat didistribusikan langsung kepada pengguna atau melalui marketplace aplikasi seperti Google Play.
Dokumen ini merangkum tugas-tugas utama yang harus dilakukan untuk menyiapkan rilis aplikasi. Tugas-tugas yang dijelaskan di halaman ini berlaku untuk semua aplikasi Android, terlepas dari cara aplikasi tersebut dirilis atau didistribusikan kepada pengguna. Jika Anda merilis aplikasi melalui Google Play, baca Merilis dengan percaya diri.
Catatan: Sebagai praktik terbaik, pastikan aplikasi Anda memenuhi semua kriteria rilis dari segi fungsi, performa, dan stabilitas sebelum Anda melakukan tugas-tugas yang diuraikan di halaman ini.
Tugas untuk mempersiapkan rilis
Untuk merilis aplikasi kepada pengguna, Anda perlu membuat paket siap-rilis yang dapat
diinstal dan dijalankan pengguna di perangkat Android. Paket siap-rilis ini berisi komponen
yang sama dengan file APK debug—kode sumber yang dikompilasi, resource, file
manifes, dan sebagainya—dan dibuat menggunakan alat build yang sama. Tetapi, tidak seperti file APK
debug, file APK siap-rilis ditandatangani dengan sertifikat Anda sendiri
dan dioptimalkan dengan alat zipalign
.
Tugas penandatanganan dan pengoptimalan biasanya berjalan lancar jika Anda mem-build aplikasi dengan Android Studio. Misalnya, Anda dapat menggunakan Android Studio dengan file build Gradle untuk mengompilasi, menandatangani, dan mengoptimalkan aplikasi sekaligus. Anda juga dapat mengonfigurasi file build Gradle untuk melakukan hal yang sama saat mem-build aplikasi dari command line. Untuk detail selengkapnya tentang penggunaan file build Gradle, lihat Mengonfigurasi build Anda.
Untuk mempersiapkan aplikasi yang akan dirilis, biasanya Anda perlu melakukan lima tugas utama, seperti ditunjukkan dalam gambar 2. Setiap tugas utama dapat mencakup satu atau beberapa tugas yang lebih kecil, bergantung pada cara Anda merilis aplikasi. Misalnya, jika merilis aplikasi melalui Google Play, Anda mungkin ingin menambahkan aturan pemfilteran khusus ke manifes saat mengonfigurasi aplikasi untuk dirilis. Demikian pula, untuk memenuhi pedoman publikasi Google Play, Anda mungkin harus menyiapkan screenshot dan membuat teks promosi saat mengumpulkan materi untuk rilis.
Biasanya Anda perlu melakukan tugas-tugas yang tercantum dalam gambar 2 setelah men-debug dan menguji aplikasi dengan cermat. Android SDK berisi beberapa alat untuk membantu Anda menguji dan men-debug aplikasi Android. Untuk mengetahui informasi selengkapnya, lihat Men-debug aplikasi dan Menguji aplikasi.
Mengumpulkan materi dan resource
Untuk menyiapkan aplikasi yang akan dirilis, Anda harus mengumpulkan beberapa item pendukung. Minimal, ini mencakup kunci kriptografis untuk menandatangani aplikasi dan ikon aplikasi. Anda mungkin juga harus menyertakan perjanjian lisensi pengguna akhir.
Kunci kriptografis
Android mengharuskan semua APK ditandatangani secara digital dengan sertifikat sebelum diinstal di perangkat atau diupdate. Untuk Google Play Store, semua aplikasi yang dibuat setelah Agustus 2021 diwajibkan untuk menggunakan Penandatanganan Aplikasi Play. Namun, mengupload AAB ke Konsol Play masih mengharuskan Anda untuk menandatanganinya dengan sertifikat developer. Aplikasi yang lebih lama masih dapat menandatangani sendiri, tetapi jika Anda menggunakan Penandatanganan Aplikasi Play atau menandatangani sendiri, Anda harus menandatangani aplikasi sebelum dapat menguploadnya.
Untuk mempelajari persyaratan sertifikat, lihat Menandatangani aplikasi Anda.
Penting: Aplikasi Anda harus ditandatangani dengan kunci kriptografis yang memiliki periode validitas yang berakhir setelah 22 Oktober 2033.
Anda mungkin juga perlu memperoleh kunci rilis lainnya jika aplikasi Anda mengakses layanan atau menggunakan library pihak ketiga yang mengharuskan Anda menggunakan kunci yang didasarkan pada kunci pribadi.
Ikon aplikasi
Ikon aplikasi membantu pengguna mengidentifikasi aplikasi Anda di layar Utama perangkat dan di jendela Peluncur. Ikon aplikasi juga muncul di Manage Applications, My Downloads, dan di tempat lainnya. Selain itu, layanan publikasi seperti Google Play menampilkan ikon kepada pengguna. Pastikan Anda memiliki ikon aplikasi yang memenuhi pedoman ikon yang direkomendasikan.
Catatan: Jika merilis aplikasi di Google Play, Anda harus membuat ikon dalam versi resolusi tinggi. Lihat Menambahkan aset pratinjau untuk menampilkan aplikasi guna mengetahui informasi selengkapnya.
Perjanjian Lisensi Pengguna Akhir
Pertimbangkan untuk menyiapkan perjanjian lisensi pengguna akhir (PLPA) untuk aplikasi Anda. PLPA dapat membantu melindungi orang, organisasi, dan kekayaan intelektual Anda, dan sebaiknya Anda memberikannya bersama aplikasi.
Materi lain-lain
Anda mungkin juga perlu menyiapkan materi promosi dan pemasaran untuk memublikasikan aplikasi. Misalnya, jika merilis aplikasi di Google Play, Anda perlu menyiapkan beberapa teks promosi dan Anda harus membuat screenshot aplikasi Anda. Untuk informasi selengkapnya, lihat Menambahkan aset pratinjau untuk menampilkan aplikasi.
Mengonfigurasi aplikasi untuk dirilis
Setelah mengumpulkan semua materi pendukung, Anda dapat mulai mengonfigurasi aplikasi untuk dirilis. Bagian ini merangkum perubahan konfigurasi yang kami rekomendasikan untuk Anda buat pada kode sumber, file resource, dan manifes aplikasi sebelum merilis aplikasi.
Meskipun sebagian besar perubahan konfigurasi yang tercantum di bagian ini bersifat opsional, perubahan ini dianggap sebagai praktik coding yang baik dan sebaiknya Anda mengimplementasikannya. Dalam beberapa kasus, Anda mungkin sudah membuat perubahan konfigurasi ini sebagai bagian dari proses pengembangan.
Memilih ID aplikasi yang sesuai
Pastikan Anda memilih ID aplikasi yang sesuai dengan masa pakai aplikasi Anda. Anda
tidak dapat mengubah ID aplikasi setelah mendistribusikan aplikasi kepada pengguna. Untuk menetapkannya,
gunakan properti applicationId
di file build.gradle
atau build.gradle.kts
level modul. Untuk mengetahui informasi selengkapnya, lihat
Menetapkan ID aplikasi.
Menonaktifkan proses debug
Untuk mengonfigurasi apakah APK dapat di-debug, gunakan tandadebuggable
untuk Groovy atau
tanda isDebuggable
untuk skrip Kotlin:
Kotlin
android { ... buildTypes { release { isDebuggable = false ... } debug { isDebuggable = true ... } } ... }
Groovy
android { ... buildTypes { release { debuggable false ... } debug { debuggable true ... } } ... }
Mengaktifkan dan mengonfigurasi penyingkatan aplikasi
Banyak di antara pengoptimalan berikut ini dapat diotomatiskan dengan mengaktifkan penyingkatan untuk build rilis Anda. Misalnya, Anda dapat menambahkan aturan ProGuard untuk menghapus laporan log, dan penyingkat akan mengidentifikasi dan menghapus kode dan resource yang tidak digunakan. Penyingkat juga dapat mengganti nama class dan variabel dengan nama yang lebih pendek untuk mengurangi ukuran DEX lebih lanjut.
Menonaktifkan logging
Nonaktifkan logging sebelum Anda mem-build aplikasi untuk dirilis. Anda dapat menonaktifkan logging dengan menghapus
panggilan ke metode Log
dalam file
sumber. Hapus juga setiap file log atau file pengujian statis yang telah dibuat dalam project Anda.
Selain itu, hapus semua panggilan pelacakan Debug
yang Anda tambahkan ke kode, seperti panggilan metode
startMethodTracing()
dan
stopMethodTracing()
.
Penting: Pastikan Anda menonaktifkan proses debug untuk
aplikasi jika menggunakan WebView
untuk
menampilkan konten berbayar atau jika menggunakan antarmuka JavaScript, karena proses debug memungkinkan pengguna memasukkan
skrip dan mengekstrak konten menggunakan Chrome DevTools. Untuk menonaktifkan proses debug, gunakan
metode WebView.setWebContentsDebuggingEnabled()
.
Membersihkan direktori project
Bersihkan project dan pastikan project sesuai dengan struktur direktori yang dijelaskan di Ringkasan project. Membiarkan file yang terpisah atau usang dalam project dapat menyebabkan aplikasi berperilaku tidak terduga dan tidak dapat mengompilasi. Setidaknya, lakukan tugas-tugas pembersihan berikut:
- Tinjau konten direktori
cpp/
,lib/
, dansrc/
. Direktoricpp/
hanya boleh berisi file sumber yang terkait dengan Android NDK, seperti file sumber C atau C++, file header, atau makefile. Direktorilib/
hanya boleh berisi file library pihak ketiga atau file library pribadi, termasuk library bersama dan library statis bawaan. Direktorisrc/
hanya boleh berisi file sumber untuk aplikasi Anda (file Java, Kotlin, dan AIDL). Direktorisrc/
tidak boleh berisi file JAR. - Periksa project Anda apakah ada file data pribadi atau eksklusif yang tidak digunakan aplikasi,
lalu hapus file tersebut. Misalnya, lihat dalam direktori
res/
project Anda apakah ada file drawable, file tata letak, dan file nilai lama yang tidak lagi digunakan, lalu hapus file tersebut. - Periksa direktori
lib/
apakah ada library pengujian, dan hapus library tersebut jika tidak digunakan lagi oleh aplikasi Anda. - Tinjau isi direktori
assets/
dan direktorires/raw/
apakah ada file aset raw dan file statis yang perlu diupdate atau dihapus sebelum dirilis.
Meninjau serta mengupdate manifes dan setelan build Gradle
Periksa apakah item file manifes dan build berikut sudah ditetapkan dengan benar:
- Elemen
<uses-permission>
Tentukan izin yang relevan saja dan memang diperlukan untuk aplikasi Anda.
- Atribut
android:icon
danandroid:label
Anda harus menetapkan nilai untuk atribut ini, yang berada dalam elemen
<application>
. - Properti
versionCode
danversionName
Sebaiknya Anda menetapkan nilai untuk properti ini, yang berada dalam file
build.gradle
ataubuild.gradle.kts
level modul aplikasi. Untuk mengetahui informasi selengkapnya, baca Menetapkan versi aplikasi Anda.
Ada sejumlah elemen file build tambahan yang dapat ditetapkan jika Anda merilis
aplikasi di Google Play. Misalnya, atribut minSdk
dan
targetSdk
, yang terletak di file build.gradle
atau build.gradle.kts
level modul aplikasi. Untuk mengetahui informasi selengkapnya tentang hal ini
dan setelan Google Play lainnya, lihat Filter di Google
Play.
Mengatasi masalah kompatibilitas
Android menyediakan sejumlah alat dan teknik agar aplikasi Anda kompatibel dengan beragam perangkat. Agar aplikasi Anda tersedia bagi sebagian besar pengguna, pertimbangkan untuk melakukan hal-hal berikut:
- Tambahkan dukungan untuk konfigurasi multilayar.
- Pastikan Anda memenuhi praktik terbaik untuk mendukung multilayar. Dengan mendukung konfigurasi multilayar, Anda dapat membuat aplikasi yang berfungsi dengan baik dan terlihat menarik di setiap ukuran layar yang didukung oleh Android.
- Optimalkan aplikasi Anda untuk tampilan yang lebih besar.
- Anda dapat mengoptimalkan aplikasi agar berfungsi dengan baik di perangkat dengan layar besar seperti tablet dan perangkat foldable. Misalnya, tata letak daftar-detail dapat meningkatkan kegunaan di layar yang lebih besar.
- Pertimbangkan penggunaan library Jetpack.
- Jetpack adalah serangkaian library yang membantu developer mengikuti praktik terbaik, mengurangi kode boilerplate, dan menulis kode yang berfungsi secara konsisten di seluruh versi dan perangkat Android.
Memperbarui URL server dan layanan
Jika aplikasi Anda mengakses layanan atau server jarak jauh, pastikan Anda menggunakan URL produksi atau jalur untuk server atau layanan, bukan URL atau jalur untuk pengujian.
Mengimplementasikan pemberian lisensi untuk Google Play
Jika Anda merilis aplikasi berbayar melalui Google Play, pertimbangkan untuk menambahkan dukungan Pemberian Lisensi Google Play. Pemberian lisensi memungkinkan Anda mengontrol akses ke aplikasi berdasarkan apakah pengguna saat ini telah membelinya. Penggunaan Pemberian Lisensi Google Play bersifat opsional, meskipun Anda merilis aplikasi melalui Google Play.
Untuk mengetahui informasi selengkapnya tentang Layanan Pemberian Lisensi Google Play dan cara menggunakannya dalam aplikasi, lihat Pemberian Lisensi Aplikasi.
Mem-build aplikasi untuk dirilis
Setelah selesai mengonfigurasi aplikasi, Anda dapat mem-build-nya menjadi file APK siap rilis yang ditandatangani dan dioptimalkan. JDK berisi alat untuk menandatangani file APK (Keytool dan Jarsinger); Android SDK berisi alat untuk mengompilasi dan mengoptimalkan file APK. Jika menggunakan Android Studio atau sistem build Gradle dari command line, Anda dapat mengotomatiskan seluruh proses build ini. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi build Gradle, lihat Mengonfigurasi varian build.
Jika menggunakan sistem continuous integration, Anda dapat mengonfigurasi tugas untuk mengotomatiskan proses rilis. Hal ini tidak terbatas pada mem-build APK atau AAB rilis Anda. Anda juga dapat mengonfigurasinya untuk otomatis mengupload artefak build ke Konsol Play.
Membangun aplikasi dengan Android Studio
Anda dapat menggunakan sistem build Gradle, yang terintegrasi dengan Android Studio, untuk membuat file APK siap rilis yang ditandatangani dengan kunci pribadi dan dioptimalkan. Untuk mempelajari cara menyiapkan dan menjalankan build dari Android Studio, lihat Mem-build dan menjalankan aplikasi.
Proses build mengasumsikan bahwa Anda memiliki sertifikat dan kunci pribadi yang sesuai untuk menandatangani aplikasi. Jika Anda tidak memiliki sertifikat dan kunci pribadi yang sesuai, Android Studio dapat membantu Anda membuatnya. Untuk mengetahui informasi selengkapnya tentang proses penandatanganan, lihat Menandatangani aplikasi.
Menyiapkan server dan resource eksternal
Jika aplikasi Anda mengandalkan server jarak jauh, pastikan server tersebut aman dan telah dikonfigurasi untuk penggunaan produksi. Hal ini sangat penting jika Anda mengimplementasikan penagihan via Google Play pada aplikasi dan melakukan langkah verifikasi tanda tangan pada server jarak jauh.
Selain itu, jika aplikasi Anda mengambil konten dari server jarak jauh atau layanan real-time (seperti feed konten), pastikan konten yang Anda sediakan adalah yang terbaru dan siap produksi.
Menguji aplikasi untuk dirilis
Menguji aplikasi versi rilis akan membantu memastikan bahwa aplikasi Anda berjalan dengan baik dalam kondisi perangkat dan jaringan yang sebenarnya. Idealnya, Anda harus menguji aplikasi setidaknya pada satu perangkat berukuran handset dan satu perangkat berukuran tablet untuk memastikan elemen antarmuka pengguna berukuran tepat, dan performa aplikasi serta efisiensi baterai dapat diterima. Firebase Test Lab juga dapat digunakan untuk pengujian di berbagai perangkat dan versi Android OS.
Sebagai titik awal untuk pengujian, lihat Kualitas aplikasi inti. Setelah menyelesaikan pengujian dan puas karena versi rilis aplikasi berjalan dengan baik, Anda dapat merilis aplikasi kepada pengguna. Untuk mengetahui informasi selengkapnya, lihat Merilis aplikasi kepada pengguna.