Saya harus mengupload aplikasi baru, hanya saja desainnya yang sedikit berbeda. Kemarin saya membuat file keystore untuk menandatangani aplikasi. Bisakah saya menggunakan yang sama?
Saya harus mengupload aplikasi baru, hanya saja desainnya yang sedikit berbeda. Kemarin saya membuat file keystore untuk menandatangani aplikasi. Bisakah saya menggunakan yang sama?
Jawaban:
Anda dapat menggunakannya keystore
untuk sejumlah aplikasi.
Tidak perlu membuat keystore baru.
Saya akan membuat argumen tandingan untuk jawaban konsensus sejauh ini.
Saya setuju bahwa untuk sebagian besar penulis aplikasi di sebagian besar waktu, berbagi keystore / sertifikat / kata sandi yang sama di antara aplikasi Anda akan berfungsi dengan baik. Hal terpenting adalah menggunakan " sertifikat yang sama sepanjang umur aplikasi yang diharapkan " sehingga aplikasi dapat meningkatkan dirinya sendiri.
Tapi saya bisa memikirkan satu alasan yang sangat bagus untuk memiliki keystore terpisah untuk aplikasi atau kelompok aplikasi terpisah. Jika Anda merasa ingin menjual aplikasi kepada orang lain untuk dipublikasikan sebagai upgrade ke aslinya, Anda harus membagikan keystore dan kata sandi satu-satunya dengan mereka untuk melakukannya. Mungkin bukan masalah besar tetapi sedikit kekhawatiran bagi Anda dan, mungkin, masalah uji tuntas bagi pembeli yang cukup besar.
Selain itu, saya benar-benar tidak membaca baris yang sama dalam dokumentasi dengan cara yang sama seperti @ol_v_er. Saya pikir baris saat ini:
Anda harus menandatangani semua aplikasi Anda dengan sertifikat yang sama selama perkiraan umur aplikasi Anda.
(perhatikan kurangnya koma dalam versi saat ini) hanya menekankan bahwa rekomendasi 'seumur hidup' berlaku untuk semua aplikasi, tidak benar-benar mengarahkan Anda untuk menggunakan sertifikat yang sama untuk semua aplikasi Anda.
Dokumentasi resmi memberi tahu kami:
Secara umum, strategi yang disarankan untuk semua pengembang adalah menandatangani semua aplikasi Anda dengan sertifikat yang sama, sepanjang umur aplikasi yang diharapkan. Ada beberapa alasan mengapa Anda harus melakukannya ...
https://developer.android.com/studio/publish/app-signing.html#considerations
Jadi ya, cobalah untuk menandatangani semua aplikasi Anda dengan sertifikat yang sama.
Saya ingin menambahkan beberapa klarifikasi di sini, karena pertanyaan dan jawaban yang diberikan ini membuat saya bingung. Sangat penting untuk memahami apa sebenarnya keystore itu.
Keystore hanyalah sarana untuk menyimpan pasangan kunci publik / pribadi yang digunakan untuk menandatangani APK Android Anda dengan aman. Jadi ya, Anda dapat menggunakan keystore yang sama untuk menandatangani banyak APK, tanpa masalah. Anda juga dapat menggunakan alias yang sama (setiap alias adalah sertifikat) untuk menandatangani beberapa APK, dan ini akan berfungsi. Namun, ini memiliki implikasi keamanan. Jika alias tunggal Anda disusupi, semua aplikasi Anda akan disusupi.
Namun, jika Anda bermaksud menjual hak atas aplikasi Anda suatu hari nanti, menggunakan alias yang sama untuk semua aplikasi Anda mungkin bukan ide yang baik. Namun, menggunakan keystore yang sama, asalkan Anda menggunakan alias yang berbeda untuk setiap apk, belum tentu merupakan opsi yang buruk. Saya yakin ada cara untuk memindahkan sertifikat dari satu keystore ke yang lain, sehingga Anda dapat memberikan kunci yang diperlukan hanya untuk sertifikat tersebut kepada pembeli dengan aman.
Untuk membuatnya sangat jelas, keystore hanyalah media penyimpanan untuk kunci. Itu tidak memainkan peran aktual dalam proses penandatanganan apk, tetapi hanya berfungsi untuk menyimpan kunci yang sebenarnya digunakan untuk menandatangani apk.
Referensi:
Memahami keystore, sertifikat, dan alias
https://www.digitalocean.com/community/tutorials/java-keytool-essentials-working-with-java-keystores
Tentu saja! Anda dapat menggunakan file keystore yang sama sebanyak yang Anda inginkan. Itu selalu lebih baik untuk menggunakan file keystore yang sama untuk semua aplikasi yang Anda kembangkan. Itu akan membantu jika Anda ingin memperbarui atau memodifikasi aplikasi. Pada saat itu Anda perlu menandatangani aplikasi Anda dengan kunci yang sama.
Saya menandatangani semua aplikasi saya menggunakan sertifikat yang sama (keystore). Ini memberi keuntungan jika saya berubah pikiran dan ingin aplikasi saya membagikan datanya.
Seperti yang mungkin Anda ketahui, Android mengidentifikasi setiap aplikasi dengan UID. Jika semua aplikasi Anda ditandatangani dengan sertifikat yang sama, Anda dapat meminta android untuk menetapkan id pengguna yang sama lebih dari satu aplikasi dan kemudian membuatnya berjalan dalam satu proses dan membagikan data.
Dari android doc android: sharedUserId
android: sharedUserId
Nama ID pengguna Linux yang akan dibagikan dengan aplikasi lain. Secara default, Android memberikan setiap aplikasi ID pengguna uniknya sendiri. Namun, jika atribut ini disetel ke nilai yang sama untuk dua atau lebih aplikasi, semuanya akan berbagi ID yang sama - asalkan mereka juga ditandatangani dengan sertifikat yang sama. Aplikasi dengan ID pengguna yang sama dapat mengakses data satu sama lain dan, jika diinginkan, berjalan dalam proses yang sama
Pembaruan Terbaru
Jika Anda ingin mendaftar dalam penandatanganan Aplikasi oleh google, Anda harus menggunakan kunci baru yang berbeda untuk menandatangani apk atau bundel Anda jika tidak setelah mengunggah konsol Google akan memberi Anda pesan kesalahan yang mengatakan
Anda mengupload APK atau Android App Bundle yang ditandatangani dengan kunci yang juga digunakan untuk menandatangani APK yang dikirimkan ke pengguna. Karena Anda terdaftar dalam Penandatanganan Aplikasi oleh Google Play, Anda harus menandatangani APK atau Android App Bundle dengan kunci baru sebelum Anda mengunggahnya