You Need to Upload a Valid .apk File.
Android mengharuskan semua APK ditandatangani secara digital dengan sertifikat sebelum diinstal di perangkat atau diupdate. Saat merilis menggunakan Android App Bundle, Anda perlu menandatangani app bundle dengan kunci upload sebelum menguploadnya ke Konsol Play, dan Penandatanganan Aplikasi Play akan menangani sisanya. Untuk aplikasi yang didistribusikan menggunakan APK di Play Shop (dibuat sebelum Agustus 2021) atau di app store lain, Anda harus menandatangani APK secara manual untuk diupload.
Halaman ini akan memandu Anda melalui beberapa konsep penting terkait penandatanganan dan keamanan aplikasi, cara menandatangani aplikasi untuk dirilis ke Google Play menggunakan Android Studio, dan cara mengonfigurasi Penandatanganan Aplikasi Play.
Berikut adalah ringkasan tingkat tinggi tentang langkah-langkah yang mungkin perlu Anda lakukan untuk menandatangani dan memublikasikan aplikasi baru ke Google Play:
- Membuat keystore dan kunci upload
- Menandatangani aplikasi dengan kunci upload
- Mengonfigurasi Penandatanganan Aplikasi Play
- Mengupload aplikasi Anda ke Google Play
- Menyiapkan & meluncurkan rilis aplikasi Anda
Jika aplikasi sudah dipublikasikan ke Google Play Store dengan kunci penandatanganan aplikasi yang sudah ada, atau Anda ingin memilih kunci penandatanganan aplikasi untuk aplikasi baru, bukan meminta Google untuk membuatnya, ikuti langkah-langkah berikut:
- Tanda tangani aplikasi Anda dengan kunci penandatanganan aplikasi, lalu pilih opsi untuk mengenkripsi dan mengekspor kunci penandatanganan.
- Upload kunci penandatanganan aplikasi ke Penandatanganan Aplikasi Play.
- (Direkomendasikan) Buat dan daftarkan sertifikat upload untuk update aplikasi Anda selanjutnya
- Mengupload aplikasi Anda ke Google Play
- Menyiapkan & meluncurkan rilis aplikasi Anda
Halaman ini juga menjelaskan cara mengelola kunci Anda sendiri untuk mengupload aplikasi ke app store lain. Jika Anda tidak menggunakan Android Studio atau lebih memilih untuk menandatangani aplikasi dari command line, pelajari cara menggunakan apksigner
.
Penandatanganan Aplikasi Play
Dengan Penandatanganan Aplikasi Play, Google akan mengelola dan melindungi kunci penandatanganan aplikasi Anda serta menggunakannya untuk menandatangani APK yang akan didistribusikan. Selain itu, karena app bundle menangguhkan proses build dan penandatanganan APK ke Google Play Store, Anda perlu mengonfigurasi Penandatanganan Aplikasi Play sebelum mengupload app package. Dengan begitu, Anda akan mendapatkan manfaat dari hal-hal berikut:
- Menggunakan Android App Bundle dan mendukung style pengiriman lanjutan Google Play. Android App Bundle membuat ukuran aplikasi Anda menjadi jauh lebih kecil, menyederhanakan rilis, serta memungkinkan penggunaan modul fitur dan menawarkan pengalaman instan.
- Meningkatkan keamanan kunci penandatanganan dan memungkinkan Anda menggunakan kunci upload yang terpisah untuk menandatangani app bundle yang diupload ke Google Play.
-
Upgrade kunci sekali pakai untuk penginstalan baru memungkinkan Anda mengubah kunci penandatanganan aplikasi jika kunci yang ada disusupi atau jika Anda perlu bermigrasi ke kunci yang lebih kuat secara kriptografis
Penandatanganan Aplikasi Play menggunakan dua kunci: kunci penandatanganan aplikasi dan kunci upload, yang dijelaskan secara lebih mendetail di bagian Kunci dan keystore. Anda dapat menyimpan kunci upload dan menggunakannya untuk menandatangani aplikasi agar dapat diupload ke Google Play Store. Google menggunakan sertifikat upload untuk memverifikasi identitas Anda dan menandatangani APK dengan kunci penandatanganan aplikasi untuk distribusi seperti ditunjukkan dalam gambar 1. Dengan menggunakan kunci upload terpisah, Anda dapat meminta agar kunci upload direset jika kunci Anda hilang atau disusupi.
Sebagai perbandingan, untuk aplikasi yang dibuat sebelum Agustus 2021 yang tidak ikut serta dalam Penandatanganan Aplikasi Play, jika Anda kehilangan kunci penandatanganan aplikasi, Anda tidak akan dapat mengupdate aplikasi.
Kunci Anda disimpan di infrastruktur yang sama dengan yang digunakan Google untuk menyimpan kuncinya sendiri, yang dilindungi oleh Key Management Service Google. Anda dapat mempelajari infrastruktur teknis Google selengkapnya dengan membaca Laporan Resmi Keamanan Google Cloud.
Saat Anda menggunakan Penandatanganan Aplikasi Play, jika kehilangan kunci upload, atau jika disusupi, Anda dapat menghubungi Google untuk mencabut kunci upload lama dan membuat kunci baru. Karena kunci penandatanganan aplikasi dilindungi oleh Google, Anda dapat terus mengupload versi aplikasi baru sebagai update untuk aplikasi yang asli, meskipun Anda mengubah kunci upload. Untuk mempelajari lebih lanjut, baca Mereset kunci upload pribadi yang hilang atau disusupi.
Bagian berikutnya menjelaskan beberapa istilah dan konsep penting terkait penandatanganan dan keamanan aplikasi. Jika Anda ingin melewatinya dan mempelajari cara mempersiapkan aplikasi untuk diupload ke Google Play Store, buka Menandatangani aplikasi untuk rilis.
Keystore, kunci, dan sertifikat
Java Keystore (.jks atau .keystore) adalah file biner yang berfungsi sebagai repositori sertifikat dan kunci pribadi.
Public key certificate (file .der
atau .pem
), juga disebut sebagai sertifikat digital atau sertifikat identitas, berisi kunci publik pasangan kunci umum/pribadi, serta beberapa metadata lain yang mengidentifikasi pemilik (misalnya, nama dan lokasi) yang memiliki kunci pribadi terkait.
Berikut berbagai jenis kunci yang harus Anda pahami:
- Kunci penandatanganan aplikasi: Kunci yang digunakan untuk menandatangani APK yang diinstal di perangkat pengguna. Sebagai bagian dari model update aman Android, kunci penandatanganan tidak pernah berubah selama masa aktif aplikasi. Kunci penandatanganan aplikasi bersifat pribadi dan harus dirahasiakan. Namun, Anda dapat membagikan sertifikat yang dihasilkan menggunakan kunci penandatanganan aplikasi Anda.
-
Kunci upload: Kunci yang digunakan untuk menandatangani app bundle atau APK sebelum diupload untuk penandatanganan aplikasi dengan Google Play. Anda harus merahasiakan kunci upload ini. Namun, Anda dapat membagikan sertifikat yang dihasilkan menggunakan kunci upload. Anda dapat membuat kunci upload dengan salah satu cara berikut:
- Jika Anda ikut serta dan meminta Google membuat kunci penandatanganan aplikasi untuk Anda, kunci yang digunakan untuk menandatangani aplikasi untuk rilis akan ditetapkan sebagai kunci upload.
- Jika Anda memberikan kunci penandatanganan aplikasi ke Google saat memilih untuk ikut serta di aplikasi baru atau yang sudah ada, Anda memiliki opsi untuk membuat kunci upload baru selama atau setelah memilih untuk meningkatkan keamanan.
- Jika tidak membuat kunci upload baru, Anda tetap menggunakan kunci penandatanganan aplikasi sebagai kunci upload untuk menandatangani setiap rilisnya.
Tips: Agar kunci tetap aman, sebaiknya pastikan untuk membedakan kunci penandatanganan aplikasi dan kunci upload.
Bekerja sama dengan penyedia API
Anda dapat mendownload sertifikat untuk kunci penandatanganan aplikasi dan kunci upload dari halaman Rilis > Penyiapan > Integritas Aplikasi di Konsol Play. Sertifikat ini digunakan untuk mendaftarkan kunci publik dengan penyedia API; kunci tersebut ditujukan untuk dibagikan karena tidak berisi kunci pribadi.
Sidik jari sertifikat adalah representasi singkat dan unik dari sertifikat yang sering diminta oleh penyedia API bersama nama paket untuk mendaftarkan aplikasi agar dapat menggunakan layanan mereka. Sidik jari MD5, SHA-i, dan SHA-256 dari sertifikat upload dan sertifikat penandatanganan aplikasi dapat ditemukan di halaman penandatanganan aplikasi Konsol Play. Sidik jari lainnya juga dapat dikomputasi dengan mendownload sertifikat asli (.der
) dari halaman yang sama.
Menandatangani build debug
Saat menjalankan atau men-debug project dari IDE, Android Studio akan otomatis menandatangani aplikasi Anda dengan sertifikat debug yang dihasilkan oleh alat Android SDK. Saat pertama menjalankan atau men-debug projection di Android Studio, IDE akan otomatis membuat keystore dan sertifikat debug di $Domicile/.android/debug.keystore
, lalu menyetel sandi untuk keystore dan kunci tersebut.
Sertifikat debug dibuat oleh alat build dan tidak aman secara desain, dan oleh karena itu, sebagian besar app store (termasuk Google Play Store) tidak menerima aplikasi yang ditandatangani dengan sertifikat debug untuk dipublikasikan.
Android Studio otomatis menyimpan informasi penandatanganan debug dalam konfigurasi penandatanganan, sehingga Anda tidak perlu memasukkannya kembali setiap kali melakukan proses debug. Konfigurasi penandatanganan adalah objek yang berisi semua informasi yang diperlukan untuk menandatangani aplikasi, termasuk lokasi keystore, sandi keystore, nama kunci, dan sandi kunci.
Untuk informasi selengkapnya tentang cara mem-build dan menjalankan aplikasi untuk proses debug, lihat Mem-build dan Menjalankan Aplikasi Anda.
Masa berakhir sertifikat debug
Sertifikat yang ditandatangani sendiri dan digunakan untuk menandatangani aplikasi Anda untuk proses debug memiliki masa berlaku selama 30 hari sejak tanggal pembuatannya. Bila masa berlaku sertifikat habis, Anda akan mendapatkan fault build.
Untuk memperbaiki masalah ini, cukup hapus file debug.keystore
yang disimpan di salah satu lokasi berikut:
-
~/.android/
pada Os X dan Linux -
C:\Documents and Settings\user\.android\
pada Windows XP -
C:\Users\user\.android\
pada Windows Vista dan Windows seven, viii, dan x
Pada kali berikutnya Anda mem-build dan menjalankan versi debug aplikasi, Android Studio akan membuat kembali keystore dan kunci debug baru.
Menandatangani aplikasi Anda untuk rilis ke Google Play
Jika sudah siap untuk memublikasikan aplikasi, Anda harus menandatangani dan menguploadnya ke app shop, misalnya Google Play. Saat memublikasikan aplikasi ke Google Play untuk pertama kalinya, Anda juga harus mengonfigurasi Penandatanganan Aplikasi Play. Penandatanganan Aplikasi Play bersifat opsional untuk aplikasi yang dibuat sebelum Agustus 2021. Bagian ini menunjukkan cara menandatangani aplikasi dengan benar untuk rilis dan mengonfigurasi Penandatanganan Aplikasi Play.
Membuat keystore dan kunci upload
Jika belum memiliki kunci upload, yang berguna saat mengonfigurasi Penandatanganan Aplikasi Play, Anda dapat membuatnya menggunakan Android Studio dengan cara berikut:
- Di panel menu, Klik Build > Generate Signed Packet/APK.
- Pada dialog Generate Signed Bundle or APK, pilih Android App Packet atau APK, lalu klik Next.
- Di bawah kolom untuk Fundamental store path, klik Create new.
-
Di jendela New Primal Store, berikan informasi berikut untuk keystore dan kunci Anda, seperti ditunjukkan dalam gambar 2.
-
Keystore
- Key shop path: Pilih lokasi untuk membuat keystore Anda. Selain itu, nama file harus ditambahkan ke akhir jalur lokasi dengan ekstensi
.jks
. - Password: Buat dan konfirmasi sandi yang aman untuk keystore.
- Key shop path: Pilih lokasi untuk membuat keystore Anda. Selain itu, nama file harus ditambahkan ke akhir jalur lokasi dengan ekstensi
-
Kunci
- Allonym: Masukkan nama identifikasi untuk kunci Anda.
- Password: Buat dan konfirmasi sandi yang aman untuk kunci. Sandi ini harus sama dengan sandi keystore Anda. (Lihat masalah umum untuk informasi selengkapnya)
- Validity (years): Tentukan jangka waktu validitas kunci Anda dalam tahun. Kunci harus valid setidaknya selama 25 tahun sehingga Anda dapat menandatangani update aplikasi dengan kunci yang sama selama masa penggunaannya.
- Document: Masukkan beberapa informasi tentang diri Anda untuk sertifikat. Informasi ini tidak ditampilkan dalam aplikasi, tetapi akan disertakan dalam sertifikat sebagai bagian dari APK.
-
Setelah melengkapi formulir, klik OK.
-
Jika ingin mem-build dan menandatangani aplikasi dengan kunci upload, lanjutkan ke bagian tentang cara Menandatangani aplikasi Anda dengan kunci upload. Jika hanya ingin membuat kunci dan keystore, klik Abolish.
Menandatangani aplikasi dengan kunci Anda
Jika sudah memiliki kunci upload, gunakan untuk menandatangani aplikasi. Jika aplikasi Anda sudah ditandatangani dan dipublikasikan ke Google Play Store dengan kunci penandatanganan aplikasi yang ada, gunakan kunci untuk menandatangani aplikasi dan pastikan Anda mengenkripsi serta mengekspornya untuk mengikutsertakan aplikasi dalam Penandatanganan Aplikasi Play. Kemudian, Anda dapat membuat kunci upload terpisah dan mendaftarkan sertifikat publik kunci upload dengan Google Play untuk menandatangani dan mengupload update berikutnya bagi aplikasi Anda.
Untuk menandatangani aplikasi menggunakan Android Studio dan mengekspor kunci penandatanganan aplikasi yang sudah ada, ikuti langkah-langkah berikut:
- Jika dialog Generate Signed Parcel or APK belum terbuka, klik Build > Generate Signed Bundle/APK.
- Pada dialog Generate Signed Packet atau APK, pilih Android App Parcel atau APK, lalu klik Adjacent.
- Pilih modul dari drop-down.
-
Tentukan lokasi keystore, alias untuk kunci Anda, lalu masukkan sandi untuk keduanya. Jika Anda belum menyiapkan kunci dan keystore upload, Buat keystore dan kunci upload terlebih dahulu, lalu kembali untuk menyelesaikan langkah ini.
-
Jika Anda menandatangani app packet dengan kunci penandatanganan aplikasi yang ada, dan Anda ingin mengikutsertakan aplikasi ke Penandatanganan Aplikasi Play, centang kotak di samping Export encrypted primal dan tentukan jalur untuk menyimpan kunci penandatanganan Anda sebagai file
*.pepk
yang dienkripsi. Anda kemudian dapat menggunakan kunci penandatanganan aplikasi yang dienkripsi untuk mengikutsertakan aplikasi yang sudah ada ke dalam Penandatanganan Aplikasi Play. -
Klik Next.
-
Di jendela berikutnya (ditunjukkan dalam gambar 4), pilih binder tujuan untuk aplikasi Anda yang ditandatangani, pilih jenis build, lalu pilih varian produk jika perlu.
-
Jika akan mem-build dan menandatangani APK, Anda harus memilih Signature Versions yang akan didukung oleh aplikasi Anda. Untuk mempelajari lebih lanjut, baca tentang skema penandatanganan aplikasi
-
Klik End.
Setelah Android Studio selesai mem-build aplikasi yang ditandatangani, Anda dapat menemukan atau menganalisis aplikasi dengan mengklik opsi yang sesuai dalam notifikasi pop-upward. Jika memilih opsi untuk mengekspor kunci penandatanganan, Anda dapat membukanya langsung dengan mengklik panah drop-downward di pojok kanan bawah pop-up untuk memperluasnya, lalu mengklik Show Exported Key File seperti yang ditunjukkan pada gambar 5.
Sekarang Anda siap untuk mengikutsertakan aplikasi ke Penandatanganan Aplikasi Play dan mengupload aplikasi untuk dirilis. Jika baru pernah melakukan proses publikasi aplikasi, Anda mungkin perlu membaca Ringkasan peluncuran. Jika sudah pernah melakukannya, lanjutkan ke halaman tentang cara Mengupload aplikasi Anda ke Konsol Play.
Menggunakan Penandatanganan Aplikasi Play
Seperti yang dijelaskan sebelumnya di halaman ini, mengonfigurasi Penandatanganan Aplikasi Play diperlukan untuk menandatangani aplikasi Anda agar didistribusikan melalui Google Play (kecuali untuk aplikasi yang dibuat sebelum Agustus 2021, yang dapat terus mendistribusikan APK yang ditandatangani sendiri). Langkah-langkah yang perlu dilakukan bergantung pada apakah aplikasi Anda belum pernah dipublikasikan ke Google Play, atau sudah ditandatangani dan dipublikasikan sebelum Agustus 2021 menggunakan kunci penandatanganan aplikasi yang sudah ada.
Mengonfigurasi aplikasi baru
Untuk mengonfigurasi penandatanganan aplikasi yang belum dipublikasikan ke Google Play, lakukan langkah berikut:
- Jika belum melakukannya, buat kunci upload, lalu tanda tangani aplikasi Anda dengan kunci upload tersebut.
- Login ke Konsol Play.
- Ikuti langkah-langkah mempersiapkan & meluncurkan rilis untuk membuat rilis baru.
- Setelah memilih track rilis, konfigurasikan penandatanganan aplikasi di bagian Integritas Aplikasi sebagai berikut:
- Agar Google Play membuat kunci penandatanganan aplikasi untuk Anda dan menggunakannya untuk menandatangani aplikasi, Anda tidak perlu melakukan apa pun. Kunci yang digunakan untuk menandatangani rilis pertama Anda akan menjadi kunci upload, dan Anda harus menggunakannya untuk menandatangani rilis selanjutnya.
- Untuk menggunakan kunci yang sama dengan aplikasi lain di akun developer Anda, pilih Change app signing central > Apply my own key > Use the same key as some other app in this account, pilih aplikasi, lalu klik Continue.
- Untuk memberikan kunci penandatanganan sendiri agar digunakan oleh Google saat menandatangani aplikasi Anda, pilih Alter app signing central > Use my own fundamental dan pilih salah satu opsi yang memungkinkan Anda mengupload kunci pribadi dan sertifikat publiknya dengan aman.
Di bagian yang disebut App Bundle, klik Browse files untuk menemukan dan mengupload aplikasi yang telah ditandatangani menggunakan kunci upload. Untuk informasi selengkapnya tentang merilis aplikasi, baca menyiapkan dan meluncurkan rilis Anda. Saat merilis aplikasi setelah mengonfigurasi Penandatanganan Aplikasi Play, Google Play akan membuat (kecuali Anda mengupload kunci yang sudah ada) dan mengelola kunci penandatanganan aplikasi untuk Anda. Cukup tanda tangani update berikutnya untuk aplikasi Anda menggunakan kunci upload aplikasi sebelum menguploadnya ke Google Play.
Jika perlu membuat kunci upload baru untuk aplikasi Anda, buka bagian tentang cara Mereset kunci upload pribadi yang hilang atau disusupi.
Mengikutsertakan aplikasi yang sudah ada
Jika mengupdate aplikasi yang telah dipublikasikan ke Google Play menggunakan kunci penandatanganan aplikasi yang sudah ada, Anda dapat ikut serta dalam Penandatanganan Aplikasi Play sebagai berikut:
- Jika Anda belum melakukannya, tanda tangani aplikasi menggunakan Android Studio dengan kunci penandatanganan aplikasi yang sudah ada dan pastikan untuk mencentang kotak di samping Export encrypted central guna menyimpan kunci penandatanganan sebagai file
*.pepk
yang dienkripsi. Anda akan membutuhkan file ini di langkah selanjutnya. Hal ini juga dapat dilakukan menggunakan alat PEPK, yang dapat didownload dari Konsol Play. - Login ke Konsol Play, lalu buka aplikasi Anda.
- Di menu kiri, klik Rilis > Penyiapan > Integritas aplikasi.
- Jika ada, tinjau Persyaratan Layanan, lalu pilih Setuju.
- Pilih salah satu opsi yang paling mendeskripsikan kunci penandatanganan yang ingin Anda upload ke Google Play, lalu ikuti petunjuk yang ditampilkan. Contohnya, jika Anda menggunakan Android Studio untuk mengekspor kunci penandatanganan aplikasi seperti yang dijelaskan di halaman ini, pilih Upload a key exported from Android Studio, lalu upload file
*.pepk
untuk kunci Anda. - Klik Enroll.
Anda akan melihat halaman yang berisi detail tentang sertifikat penandatanganan dan sertifikat upload aplikasi Anda. Sekarang, Google Play akan menandatangani aplikasi Anda dengan kunci yang sudah ada saat menerapkannya ke pengguna. Namun, salah satu manfaat terpenting bagi Penandatanganan Aplikasi Play adalah kemampuan untuk memisahkan kunci yang Anda gunakan untuk menandatangani artefak yang diupload ke Google Play dari kunci yang digunakan Google Play untuk menandatangani aplikasi untuk didistribusikan kepada pengguna. Jadi, pertimbangkan untuk mengikuti langkah-langkah di bagian berikutnya untuk membuat dan mendaftarkan kunci upload yang terpisah.
Membuat dan mendaftarkan sertifikat upload
Saat Anda memublikasikan aplikasi yang tidak ditandatangani oleh kunci upload, Konsol Google Play memberikan opsi untuk mendaftarkannya guna mendapatkan update aplikasi berikutnya. Meskipun ini adalah langkah opsional, sebaiknya publikasikan aplikasi Anda dengan kunci yang terpisah dari kunci yang digunakan Google Play untuk mendistribusikan aplikasi ke pengguna. Dengan demikian, Google akan menyimpan kunci penandatanganan Anda dengan aman, dan Anda memiliki opsi untuk mereset kunci upload pribadi yang hilang atau disusupi. Bagian ini menjelaskan cara membuat kunci upload, membuat sertifikat upload darinya, dan mendaftarkan sertifikat tersebut dengan Google Play untuk update aplikasi Anda selanjutnya.
Bagian berikut ini menjelaskan situasi yang memungkinkan Anda melihat opsi untuk mendaftarkan sertifikat upload di Konsol Play:
- Saat Anda memublikasikan aplikasi baru yang ditandatangani dengan kunci penandatanganan dan memilih untuk ikut serta dalam Penandatanganan Aplikasi Play.
- Saat Anda akan memublikasikan aplikasi yang sudah ada yang telah diikutsertakan dalam Penandatanganan Aplikasi Play, tetapi aplikasi tersebut ditandatangani menggunakan kunci penandatanganannya.
Jika Anda tidak memublikasikan update ke aplikasi yang sudah ada yang telah diikutsertakan dalam penandatanganan aplikasi oleh Google Play, dan Anda ingin mendaftarkan sertifikat upload, lakukan langkah-langkah di bawah ini dan lanjutkan ke bagian tentang cara mereset kunci upload yang hilang atau disusupi.
Jika belum melakukannya, buat keystore dan kunci upload.
Setelah membuat keystore dan kunci upload, Anda perlu membuat sertifikat publik dari kunci upload menggunakan keytool
, dengan perintah berikut:
$ keytool -export -rfc -keystore your-upload-keystore.jks -alias upload-alias -file output_upload_certificate.pem
Setelah Anda memiliki sertifikat upload, daftarkan sertifikat dengan Google ketika diminta dalam Konsol Play atau baca bagian di bawah ini untuk mendaftarkannya melalui tim dukungan Google Play.
Mengupgrade kunci penandatanganan aplikasi
Dalam situasi tertentu, Anda mungkin ingin mengubah kunci penandatanganan aplikasi Anda. Misalnya, karena Anda ingin kunci yang lebih kuat secara kriptografis, atau kunci penandatanganan telah disusupi. Namun, karena pengguna hanya dapat mengupdate aplikasi jika update ditandatangani dengan kunci penandatanganan yang sama, sulit untuk mengubah kunci tersebut untuk aplikasi yang sudah dipublikasikan.
Jika memublikasikan aplikasi ke Google Play, Anda dapat mengupgrade kunci penandatanganan untuk aplikasi yang sudah dipublikasikan melalui Konsol Play; kunci yang baru akan digunakan untuk menandatangani penginstalan baru dan update aplikasi, sementara kunci yang lama akan digunakan untuk menandatangani update bagi pengguna yang sudah menginstal aplikasi sebelum mengupgrade kunci tersebut.
Untuk mempelajari lebih lanjut, baca Mengupgrade kunci penandatanganan aplikasi untuk penginstalan baru.
Mereset kunci upload pribadi yang hilang atau disusupi
Jika kunci upload pribadi hilang atau kunci pribadi Anda disusupi, Anda dapat membuat yang baru dan menghubungi tim dukungan Google Play untuk menyetel ulang kunci.
Mengonfigurasi proses build agar otomatis menandatangani aplikasi
Di Android Studio, Anda dapat mengonfigurasi projection agar otomatis menandatangani versi rilis aplikasi saat proses build dengan membuat konfigurasi penandatanganan dan menetapkannya ke jenis build rilis Anda. Konfigurasi penandatanganan terdiri atas lokasi keystore, sandi keystore, alias kunci, dan sandi kunci. Untuk membuat konfigurasi penandatanganan dan menetapkannya ke jenis build rilis menggunakan Android Studio, lakukan langkah-langkah berikut:
- Di jendela Project, klik kanan aplikasi Anda, lalu klik Open up Module Settings.
- Di jendela Project Structure, pada Modules di panel kiri, klik modul yang ingin ditandatangani.
- Klik tab Signing, lalu klik Add .
-
Pilih file keystore Anda, masukkan nama untuk konfigurasi penandatanganan ini (karena Anda boleh membuat lebih dari satu konfigurasi), lalu masukkan informasi yang diperlukan.
- Klik tab Build Types.
- Klik build release.
-
Pada Signing Config, pilih konfigurasi penandatanganan yang baru saja Anda buat.
- Klik OK.
Sekarang, setiap kali Anda mem-build jenis build rilis dengan memilih opsi pada Build > Build Bundle(s) / APK(s) di Android Studio, IDE akan otomatis menandatangani aplikasi, menggunakan konfigurasi penandatanganan yang Anda tentukan. Anda dapat menemukan APK atau app bundle yang sudah ditandatangani dalam direktori build/outputs/
di dalam direktori project untuk modul yang Anda buat.
Saat membuat konfigurasi penandatanganan, informasi penandatanganan Anda akan disertakan dalam teks biasa pada file build Gradle. Jika Anda bekerja dalam tim atau berbagi kode secara publik, Anda harus menjaga keamanan informasi penandatanganan dengan menghapusnya dari file build dan menyimpannya secara terpisah. Anda dapat membaca lebih lanjut tentang cara menghapus informasi penandatanganan dari file build dalam Menghapus Informasi Penandatanganan dari File Build Anda. Untuk informasi selengkapnya tentang cara menjaga keamanan informasi penandatanganan Anda, baca Mengamankan kunci Anda.
Menandatangani setiap ragam produk secara berbeda
Jika aplikasi menggunakan ragam produk dan Anda ingin menandatangani setiap ragamnya secara berbeda, Anda dapat membuat konfigurasi penandatanganan tambahan dan menetapkannya menurut ragam:
- Di jendela Project, klik kanan aplikasi Anda, lalu klik Open up Module Settings.
- Di jendela Project Construction, pada Modules di console kiri, klik modul yang ingin ditandatangani.
- Klik tab Signing, lalu klik Add .
-
Pilih file keystore Anda, masukkan nama untuk konfigurasi penandatanganan ini (karena Anda boleh membuat lebih dari satu konfigurasi), lalu masukkan informasi yang diperlukan.
- Ulangi langkah 3 dan 4 bila perlu hingga Anda selesai membuat semua konfigurasi penandatanganan.
- Klik tab Flavors.
- Klik varian yang ingin dikonfigurasi, lalu pilih konfigurasi penandatanganan yang sesuai dari menu drop-downward Signing Config.
Ulangi untuk mengonfigurasi varian produk lainnya.
- Klik OK.
Anda juga dapat menetapkan setelan penandatanganan dalam file konfigurasi Gradle. Untuk informasi selengkapnya, lihat Mengonfigurasi Setelan Penandatanganan.
Mengelola kunci penandatanganan Anda sendiri
Jika memilih untuk tidak ikut serta dalam Penandatanganan Aplikasi Play (hanya untuk aplikasi yang dibuat sebelum Agustus 2021), Anda dapat mengelola kunci penandatanganan aplikasi dan keystore sendiri. Perlu diingat bahwa Anda bertanggung jawab untuk mengamankan kunci dan keystore tersebut. Selain itu, aplikasi tidak akan dapat mendukung Android App Packet, Play Feature Commitment, dan Play Nugget Commitment.
Jika sudah siap membuat kunci dan keystore Anda sendiri, pastikan terlebih dahulu memilih sandi yang kuat untuk keystore serta sandi kuat yang terpisah untuk setiap kunci pribadi yang disimpan di keystore. Anda harus menyimpan keystore di tempat yang aman dan terlindung. Jika Anda kehilangan akses ke kunci penandatanganan aplikasi atau kunci telah disusupi, Google tidak dapat memperoleh kunci penandatanganan aplikasi untuk Anda, dan Anda tidak akan dapat merilis versi baru aplikasi kepada pengguna sebagai update untuk aplikasi asli. Untuk informasi selengkapnya, lihat Mengamankan kunci Anda, di bawah ini.
Jika Anda mengelola kunci penandatanganan aplikasi dan keystore sendiri, saat menandatangani APK, Anda akan menandatanganinya secara lokal menggunakan kunci penandatanganan aplikasi dan mengupload APK yang ditandatangani secara langsung ke Google Play Store untuk didistribusikan seperti yang ditunjukkan pada gambar 10.
Saat menggunakan Penandatanganan Aplikasi Play, Google akan mengamankan kunci penandatanganan Anda, dan memastikan aplikasi ditandatangani dengan benar serta dapat menerima update sepanjang masa penggunaannya. Namun, jika Anda memutuskan untuk mengelola kunci penandatanganan aplikasi sendiri, ada beberapa pertimbangan yang harus diingat.
Pertimbangan penandatanganan
Anda harus menandatangani aplikasi dengan sertifikat yang sama selama masa penggunaan yang diharapkan. Ada sejumlah alasan mengapa Anda harus melakukannya:
- Upgrade aplikasi: Saat menginstal update untuk suatu aplikasi, sistem akan membandingkan sertifikat pada versi baru dengan yang ada pada versi saat ini. Sistem akan mengizinkan update jika sertifikatnya cocok. Jika menandatangani versi baru dengan sertifikat yang berbeda, Anda harus menetapkan nama paket yang berbeda ke aplikasi; dalam hal ini, pengguna menginstal versi baru sebagai aplikasi yang benar-benar baru.
- Modularitas aplikasi: Android mengizinkan APK yang ditandatangani oleh sertifikat yang sama untuk berjalan dalam proses yang sama jika aplikasi memintanya, sehingga sistem memperlakukannya sebagai satu aplikasi. Dengan demikian, Anda dapat menerapkan aplikasi dalam modul, dan pengguna dapat mengupdate setiap modul secara independen.
- Berbagi kode/data melalui izin: Android menyediakan penerapan izin berbasis tanda tangan, sehingga aplikasi dapat menunjukkan fungsionalitasnya ke aplikasi lain yang ditandatangani dengan sertifikat tertentu. Dengan menandatangani beberapa APK menggunakan sertifikat yang sama dan pemeriksaan izin berbasis tanda tangan, aplikasi Anda dapat membagikan kode dan data dengan cara yang aman.
Jika Anda berencana mendukung upgrade aplikasi, pastikan kunci penandatanganan aplikasi memiliki periode validitas yang melebihi masa aktif yang diharapkan untuk aplikasi tersebut. Periode validitas yang direkomendasikan adalah 25 tahun atau lebih. Apabila periode validitas kunci Anda berakhir, pengguna tidak lagi dapat mengupgrade versi baru aplikasi Anda dengan lancar.
Jika berencana untuk memublikasikan aplikasi Anda di Google Play, kunci yang digunakan untuk menandatangani aplikasi harus memiliki masa berlaku yang berakhir di atas 22 Oktober 2033. Google Play memberlakukan persyaratan ini untuk memastikan pengguna dapat mengupgrade aplikasi dengan lancar saat versi baru tersedia.
Menyimpan kunci Anda dengan aman
Jika Anda memilih untuk mengelola dan mengamankan kunci penandatanganan aplikasi dan keystore sendiri (bukan memilih untuk ikut serta dalam Penandatanganan Aplikasi Play), mengamankan kunci penandatanganan aplikasi sangat penting bagi Anda dan pengguna. Jika mengizinkan seseorang menggunakan kunci Anda, atau jika Anda membiarkan keystore dan sandi berada di lokasi yang tidak aman, sehingga pihak ketiga dapat menemukan dan menggunakannya, identitas penulis dan kepercayaan pengguna akan mudah disusupi.
Jika pihak ketiga berhasil mengambil kunci penandatanganan aplikasi Anda tanpa sepengetahuan atau izin Anda, orang tersebut dapat menandatangani dan mendistribusikan aplikasi yang dengan niat jahat menggantikan aplikasi asli Anda atau merusaknya. Orang tersebut juga dapat menandatangani dan mendistribusikan aplikasi dengan identitas Anda yang dapat membahayakan aplikasi lain, bahkan sistem, atau merusak atau mencuri data pengguna.
Kunci pribadi Anda diperlukan untuk menandatangani semua versi aplikasi Anda di masa mendatang. Jika kunci Anda hilang atau tidak dapat ditemukan, Anda tidak akan dapat memublikasikan update ke aplikasi yang sudah ada. Anda tidak dapat membuat kembali kunci yang sebelumnya pernah dibuat.
Reputasi Anda sebagai entitas developer bergantung pada proses pengamanan yang benar terhadap kunci penandatanganan aplikasi Anda setiap saat hingga masa berlaku kunci tersebut berakhir. Berikut beberapa tips untuk menjaga keamanan kunci Anda:
- Pilih sandi yang aman untuk keystore dan kunci.
- Jangan berikan atau pinjamkan kunci pribadi Anda kepada siapa pun, dan jangan biarkan orang yang tidak berwenang mengetahui keystore dan sandi kunci Anda.
- Simpan file keystore yang berisi kunci pribadi di tempat yang aman dan terlindungi.
Secara umum, jika Anda mengikuti tindakan pencegahan yang semestinya saat membuat, menggunakan, dan menyimpan kunci, kunci akan tetap aman.
Menghapus informasi penandatanganan dari file build Anda
Saat Anda membuat konfigurasi penandatanganan, Android Studio akan menambahkan informasi penandatanganan Anda dalam teks biasa ke file build.gradle
modul. Jika Anda bekerja dengan tim atau menjadikan kode Anda open source, pastikan untuk memindahkan informasi sensitif ini dari file build sehingga tidak dapat diakses oleh orang lain. Untuk melakukannya, buat file properti yang terpisah untuk menyimpan informasi yang aman dan rujuk file tersebut dalam file build seperti berikut:
- Buat konfigurasi penandatanganan dan tetapkan ke satu atau beberapa jenis build. Petunjuk ini mengasumsikan bahwa Anda telah mengonfigurasi penandatanganan tunggal untuk jenis build rilis Anda, seperti yang dijelaskan dalam Mengonfigurasi proses build agar otomatis menandatangani aplikasi di atas.
- Buat file bernama
keystore.properties
dalam direktori utama projection Anda. File ini harus berisi informasi penandatanganan Anda seperti berikut:storePassword=myStorePassword keyPassword=mykeyPassword keyAlias=myKeyAlias storeFile=myStoreFileLocation
- Dalam file
build.gradle
modul, tambahkan kode untuk memuat filekeystore.properties
sebelum blokandroid {}
.Groovy
... // Create a variable called keystorePropertiesFile, and initialize it to your // keystore.properties file, in the rootProject binder. def keystorePropertiesFile = rootProject.file("keystore.properties") // Initialize a new Properties() object chosen keystoreProperties. def keystoreProperties = new Properties() // Load your keystore.properties file into the keystoreProperties object. keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) android { ... }
Kotlin
... import coffee.util.Properties import java.io.FileInputStream // Create a variable called keystorePropertiesFile, and initialize it to your // keystore.properties file, in the rootProject folder. val keystorePropertiesFile = rootProject.file("keystore.properties") // Initialize a new Properties() object called keystoreProperties. val keystoreProperties = Backdrop() // Load your keystore.properties file into the keystoreProperties object. keystoreProperties.load(FileInputStream(keystorePropertiesFile)) android { ... }
Catatan: Anda dapat memilih untuk menyimpan file
keystore.properties
di lokasi lain (misalnya, dalam folder modul, bukan dalam binder root untuk projection, atau di server build jika menggunakan alat continuous integration). Dalam hal ini, Anda harus mengubah kode di atas agar menginisialisasikeystorePropertiesFile
menggunakan lokasi filekeystore.backdrop
yang sebenarnya. - Anda dapat merujuk ke properti yang disimpan dalam
keystoreProperties
menggunakan sintakskeystoreProperties['propertyName']
. Ubah bloksigningConfigs
dalam filebuild.gradle
modul Anda agar dapat merujuk informasi penandatanganan yang disimpan dalamkeystoreProperties
menggunakan sintaksis ini.Groovy
android { signingConfigs { config { keyAlias keystoreProperties['keyAlias'] keyPassword keystoreProperties['keyPassword'] storeFile file(keystoreProperties['storeFile']) storePassword keystoreProperties['storePassword'] } } ... }
Kotlin
android { signingConfigs { getByName("config") { keyAlias = keystoreProperties["keyAlias"] keyPassword = keystoreProperties["keyPassword"] storeFile = file(keystoreProperties["storeFile"]) storePassword = keystoreProperties["storePassword"] } } ... }
- Buka jendela alat Varian Build dan pastikan jenis build rilis sudah dipilih.
- Pilih opsi pada Build > Build Package (s) / APK (s) untuk mem-build APK atau app bundle dari build rilis Anda. Anda akan melihat output build pada direktori
build/outputs/
untuk modul Anda.
Karena file build tidak lagi berisi informasi sensitif, sekarang Anda dapat menyertakannya dalam kontrol sumber atau menguploadnya ke codebase bersama. Pastikan untuk menyimpan file keystore.properties
dengan aman. Caranya antara lain dengan menghapusnya dari sistem kontrol sumber Anda.
Source: https://developer.android.com/studio/publish/app-signing?hl=id
0 Response to "You Need to Upload a Valid .apk File."
Post a Comment