Menyiapkan aplikasi untuk dirilis

Saat menyiapkan aplikasi untuk rilis, Anda perlu mengonfigurasi, membuat, dan menguji versi rilis aplikasi Anda. Tugas konfigurasi ini tidak sulit, dan melibatkan tugas dasar berupa membersihkan dan memodifikasi kode guna mengoptimalkan aplikasi Anda. Proses build ini mirip dengan proses build debug dan dapat dilakukan menggunakan JDK dan Android SDK Tools. Tugas pengujian berfungsi sebagai pemeriksaan akhir yang memastikan bahwa aplikasi Anda berfungsi sesuai harapan pada kondisi sebenarnya. Setelah selesai menyiapkan aplikasi untuk dirilis, Anda memiliki file APK bertanda tangan, yang dapat Anda distribusikan langsung kepada pengguna atau melalui marketplace aplikasi seperti Google Play.

Dokumen ini merangkum tugas-tugas utama yang perlu Anda jalankan untuk menyiapkan rilis aplikasi. Tugas-tugas yang dijelaskan dalam dokumen ini berlaku untuk semua aplikasi Android, terlepas dari metode rilis atau pendistribusiannya kepada pengguna. Jika Anda merilis aplikasi melalui Google Play, sebaiknya Anda juga membaca Checklist peluncuran Google Play.

Catatan: Sebagai praktik terbaik, aplikasi Anda harus memenuhi semua kriteria rilis dari segi fungsionalitas, performa, dan stabilitas sebelum Anda menjalankan tugas-tugas yang diuraikan dalam dokumen ini.

Menampilkan bagaimana kaitan proses persiapan dengan proses pengembangan

Gambar 1. Menyiapkan aplikasi untuk dirilis merupakan tugas pengembangan wajib dan langkah pertama dalam proses publikasi.

Pengantar

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 seterusnya — dan dibuat menggunakan fitur build yang sama. Tetapi, tidak seperti file APK debug, file APK siap-rilis ditandatangani dengan sertifikat Anda sendiri dan dioptimalkan dengan fitur zipalign.

Menampilkan lima tugas yang perlu Anda lakukan untuk menyiapkan aplikasi yang akan dirilis

Gambar 2. Anda melakukan lima tugas utama saat menyiapkan aplikasi untuk dirilis.

Tugas penandatanganan dan pengoptimalan biasanya berjalan tanpa kendala jika Anda membuat aplikasi dengan Android Studio. Misalnya, Anda dapat menggunakan Android Studio dengan file build Gradle untuk mengompilasi, menandatangani, dan mengoptimalkan aplikasi Anda sekaligus. Anda juga dapat mengonfigurasi file build Gradle untuk melakukan hal yang sama saat membuat aplikasi dari command line. Untuk detail selengkapnya tentang menggunakan file build Gradle, lihat panduan Sistem Build.

Untuk mempersiapkan aplikasi yang akan dirilis, biasanya Anda melakukan lima tugas utama (lihat gambar 2). Setiap tugas utama dapat mencakup satu atau beberapa tugas lebih kecil, bergantung pada cara Anda merilis aplikasi. Misalnya, jika merilis aplikasi melalui Google Play, Anda mungkin perlu menambahkan aturan pemfilteran khusus ke manifes selagi mengonfigurasi aplikasi untuk dirilis. Demikian pula, untuk memenuhi pedoman publikasi Google Play, Anda mungkin harus menyiapkan screenshot dan membuat teks promosi selagi mengumpulkan material untuk rilis.

Biasanya, Anda melakukan tugas-tugas yang tercantum dalam gambar 2 setelah men-debug dan menguji aplikasi secara menyeluruh. Android SDK menyertakan sejumlah fitur untuk membantu Anda menguji dan men-debug aplikasi Android. Untuk informasi selengkapnya, lihat bagian Men-debug dan Menguji dalam Panduan Developer.

Mengumpulkan material dan resource

Untuk memulai persiapan rilis aplikasi, Anda perlu mengumpulkan sejumlah item pendukung. Setidak-tidaknya, ini meliputi kunci kriptografi untuk menandatangani aplikasi dan sebuah ikon aplikasi. Anda mungkin juga harus menyertakan perjanjian lisensi pengguna akhir.

Kunci kriptografi

Sistem Android mengharuskan setiap aplikasi yang diinstal ditandatangani dengan sertifikat yang dimiliki oleh developer aplikasi (yaitu, sertifikat yang kunci rahasianya dipegang oleh developer). Sistem Android menggunakan sertifikat ini sebagai cara mengidentifikasi penulis aplikasi dan membuat hubungan kepercayaan antar-aplikasi. Sertifikat yang Anda gunakan untuk menandatangani tidak perlu ditandatangani oleh otoritas sertifikat; sistem Android mengizinkan Anda menandatangani aplikasi dengan sertifikat yang ditandatangani sendiri. Untuk mengetahui persyaratan sertifikat, lihat Menandatangani Aplikasi Anda.

Penting: Aplikasi Anda harus ditandatangani dengan kunci kriptografi yang masa berlakunya 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 untuk menggunakan kunci yang didasarkan pada kunci pribadi.

Ikon aplikasi

Pastikan Anda memiliki ikon aplikasi yang memenuhi pedoman ikon yang direkomendasikan. Ikon aplikasi membantu pengguna mengidentifikasi aplikasi Anda pada layar Utama perangkat dan di jendela Peluncur. Ikon aplikasi juga muncul di Manage Applications, My Downloads, dan di tempat-tempat lainnya. Selain itu, layanan publikasi seperti Google Play menampilkan ikon Anda kepada pengguna.

Catatan: Jika merilis aplikasi di Google Play, Anda perlu membuat ikon dalam versi resolusi tinggi. Lihat Aset Visual untuk Aplikasi untuk informasi selengkapnya.

Persetujuan Lisensi Pengguna Akhir

Pertimbangkan mempersiapkan Perjanjian Lisensi Pengguna Akhir (EULA) untuk aplikasi Anda. EULA dapat membantu melindungi orang, organisasi, dan kekayaan intelektual Anda, dan kami menyarankan Anda menyediakannya bersama aplikasi.

Material lain-lain

Anda mungkin juga perlu menyiapkan material promosi dan pemasaran untuk memublikasikan aplikasi. Misalnya, jika merilis aplikasi di Google Play, Anda perlu menyiapkan teks promosi dan membuat screenshot aplikasi. Untuk informasi selengkapnya, lihat Aset Visual untuk Aplikasi.

Mengonfigurasi aplikasi untuk dirilis

Setelah mengumpulkan semua material 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 sini 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.

Pilih nama paket yang baik

Pastikan Anda memilih nama paket yang sesuai dengan masa pakai aplikasi. Anda tidak dapat mengubah nama paket setelah mendistribusikan aplikasi kepada pengguna. Anda dapat menetapkan nama paket dalam file manifes aplikasi. Untuk informasi selengkapnya, lihat dokumentasi atribut package.

Nonaktifkan logging dan debugging

Pastikan Anda menonaktifkan logging dan opsi debugging sebelum membuat aplikasi untuk dirilis. Anda dapat menonaktifkan logging dengan menghapus panggilan ke metode Log dalam file sumber. Anda dapat menonaktifkan debugging dengan menghapus atribut android:debuggable dari tag <application> dalam file manifes, atau dengan menetapkan atribut android:debuggable ke false dalam file manifes. Hapus juga setiap file log atau file pengujian statis yang telah dibuat dalam project Anda.

Selain itu, Anda juga perlu menghapus semua panggilan pelacakan Debug yang ditambahkan ke kode, seperti panggilan metode startMethodTracing() dan stopMethodTracing().

Penting: Pastikan menonaktifkan debugging untuk aplikasi Anda jika menggunakan WebView untuk menampilkan konten berbayar atau menggunakan antarmuka JavaScript, karena debugging memungkinkan pengguna memasukkan skrip dan mengekstrak konten menggunakan Chrome DevTools. Untuk menonaktifkan debugging, gunakan metode WebView.setWebContentsDebuggingEnabled().

Bersihkan direktori project Anda

Bersihkan project Anda dan pastikan mematuhi struktur direktori yang dijelaskan dalam Project Android. Membiarkan file yang terpisah atau tanpa induk dalam project dapat membuat aplikasi tidak dapat dikompilasi dan menyebabkan perilaku yang tidak sesuai harapan. Setidak-tidaknya, Anda harus melakukan tugas-tugas pembersihan berikut:

  • Periksa isi direktori jni/, lib/, dan src/. Direktori jni/ hanya boleh berisi file sumber yang terkait dengan Android NDK, seperti file .c, .cpp, .h, dan .mk. Direktori lib/ hanya boleh berisi file library pihak ketiga atau file library pribadi, termasuk library statis dan bersama yang dibuat sebelumnya (misalnya file .so). Direktori src/ hanya boleh berisi file sumber untuk aplikasi Anda (file .java dan .aidl). Direktori src/ tidak boleh berisi file .jar.
  • Periksa project Anda untuk menemukan file data pribadi atau eksklusif yang tidak digunakan aplikasi Anda, dan hapus file tersebut. Misalnya, lihatlah 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.
  • Periksa isi direktori assets/ dan res/raw/ apakah ada file aset mentah dan statis yang perlu diupdate atau dibuang sebelum aplikasi dirilis.

Tinjau dan update manifes serta setelan build Gradle Anda

Periksa apakah item file manifes dan build berikut sudah ditetapkan dengan benar:

  • Elemen <uses-permission>

    Anda harus menetapkan izin yang relevan dan yang diperlukan saja untuk aplikasi Anda.

  • Atribut android:icon dan android:label

    Anda harus menentukan nilai untuk atribut ini, yang berada dalam elemen <application>.

  • Atribut android:versionCode dan android:versionName

    Sebaiknya Anda menentukan nilai untuk atribut ini, yang berada dalam elemen <manifest>. Untuk informasi selengkapnya, lihat Menetapkan Versi Aplikasi Anda.

Ada sejumlah elemen file manifes atau build tambahan yang dapat ditentukan jika Anda merilis aplikasi di Google Play. Misalnya, atribut android:minSdkVersion dan android:targetSdkVersion, yang berada dalam elemen <uses-sdk>. Untuk informasi selengkapnya mengenai hal ini dan setelan Google Play lainnya, lihat Filter pada Google Play.

Atasi masalah kompatibilitas

Android menyediakan sejumlah fitur dan teknik agar aplikasi Anda kompatibel dengan beragam perangkat. Agar aplikasi tersebut 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 tampak menarik di setiap ukuran layar yang didukung oleh Android.

  • Optimalkan aplikasi untuk perangkat tablet Android

    Jika aplikasi Anda didesain untuk perangkat yang lebih lama daripada Android 3.0, buatlah agar kompatibel dengan perangkat Android 3.0 dengan mengikuti panduan dan praktik terbaik yang dijelaskan dalam Mengoptimalkan Aplikasi untuk Android 3.0.

  • Pertimbangkan menggunakan Support Library

    Jika aplikasi Anda didesain untuk perangkat yang menjalankan Android 3.x, pastikan aplikasi tersebut kompatibel dengan versi Android yang lebih lama dengan menambahkan Support Library ke project aplikasi Anda. Support Library menyediakan library dukungan statis yang dapat Anda tambahkan ke aplikasi Android, sehingga Anda dapat menggunakan API yang tidak tersedia di versi platform lama atau menggunakan API utilitas yang bukan bagian dari API framework.

Perbarui 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.

Implementasikan pemberian lisensi (jika Anda merilis aplikasi di Google Play)

Jika Anda merilis aplikasi berbayar melalui Google Play, pertimbangkan untuk menambahkan dukungan Google Play Licensing. Pemberian lisensi memungkinkan Anda mengontrol akses ke aplikasi berdasarkan apakah pengguna saat ini telah membelinya atau belum. Penggunaan Google Play Licensing bersifat opsional, meskipun Anda merilis aplikasi melalui Google Play.

Untuk informasi selengkapnya tentang Layanan Google Play Licensing dan cara menggunakannya dalam aplikasi Anda, lihat Pemberian Lisensi Aplikasi.

Membuat aplikasi untuk dirilis

Setelah selesai mengonfigurasi aplikasi, Anda dapat membuat file APK siap-rilis yang ditandatangani dan dioptimalkan. JDK menyertakan fitur untuk menandatangani file APK (Keytool dan Jarsinger); Android SDK menyertakan fitur untuk mengompilasi dan mengoptimalkan file APK. Jika Anda menggunakan Android Studio atau menggunakan sistem build Gradle dari command line, Anda dapat mengotomatiskan seluruh proses build ini. Untuk informasi selengkapnya tentang mengonfigurasi file Gradle, lihat Mengonfigurasi Build Gradle.

Membuat 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 mengetahui cara menyiapkan dan menjalankan proses build dari Android Studio, lihat Membuat dan Menjalankan Build dari Android Studio.

Proses build menganggap Anda memiliki sertifikat dan kunci pribadi yang sesuai untuk menandatangani aplikasi. Jika tidak memiliki sertifikat dan kunci pribadi yang sesuai, Android Studio dapat membantu Anda mendapatkannya. Untuk 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 dalam aplikasi pada aplikasi Anda dan menjalankan 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 pada 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 memiliki ukuran yang tepat, dan bahwa performa aplikasi Anda dan efisiensi baterai bisa diterima.

Sebagai langkah awal untuk melakukan pengujian, lihat Apa yang Diuji. Artikel ini memberikan ringkasan situasi Android umum yang perlu Anda pertimbangkan saat menguji aplikasi. Setelah menyelesaikan pengujian dan puas karena versi rilis aplikasi Anda berjalan dengan baik, Anda dapat merilis aplikasi kepada pengguna. Untuk informasi selengkapnya, lihat Merilis Aplikasi kepada Pengguna. Jika Anda memublikasikan aplikasi di Google Play, lihat Checklist Peluncuran untuk Google Play.