Mempersiapkan aplikasi untuk dirilis

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.

Menampilkan kaitan proses persiapan dengan proses pengembangan

Gambar 1. Mempersiapkan rilis merupakan tugas pengembangan wajib dan langkah pertama dalam proses publikasi.

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.

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

Gambar 2. Ada lima tugas utama untuk menyiapkan rilis aplikasi.

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 tanda debuggable 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/, dan src/. Direktori cpp/ hanya boleh berisi file sumber yang terkait dengan Android NDK, seperti file sumber C atau C++, file header, atau makefile. Direktori lib/ hanya boleh berisi file library pihak ketiga atau file library pribadi, termasuk library bersama dan library statis bawaan. Direktori src/ hanya boleh berisi file sumber untuk aplikasi Anda (file Java, Kotlin, dan AIDL). Direktori src/ 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 direktori res/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 dan android:label

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

  • Properti versionCode dan versionName

    Sebaiknya Anda menetapkan nilai untuk properti ini, yang berada dalam file build.gradle atau build.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.