Silakan pilih setidaknya salah satu versi tanda tangan untuk digunakan di Android Studio 2.3
Sekarang saat membuat APK yang ditandatangani di Android Studio, itu menunjukkan dua opsi (Kotak centang) yaitu 1. V1 (Jar Signature)
dan 2. V2 (Full APK Signature)
sebagai Versi Tanda Tangan pada langkah terakhir dari proses pembuatan APK yang ditandatangani.
Jadi, apa perbedaan antara V1 (Jar Signature) dan V2 (Full APK Signature) dalam pembaruan Android Studio yang baru?
Dan mana yang harus saya gunakan (atau keduanya) untuk menandatangani apk untuk rilis play store?
Juga, saya mendapatkan kesalahan Instal Parse Gagal Tidak Ada Sertifikat saat menginstal APK ketika saya menggunakan opsi kedua.
Haruskah saya menggunakan (atau keduanya) untuk menandatangani apk untuk rilis play store? Jawabannya adalah YA .
Sesuai https://source.android.com/security/apksigning/v2.html#verification :
Saya mencoba menghasilkan build dengan memeriksa opsi V2 (Full Apk Signature) . Kemudian ketika saya mencoba menginstal rilis build di bawah perangkat 7.0 dan saya tidak dapat menginstal build di perangkat.
Setelah itu saya mencoba membangun dengan memeriksa kotak centang kedua versi dan menghasilkan rilis rilis. Kemudian bisa menginstal build.
sumber
Di sini tertulis bahwa "Secara default, Android Studio 2.2 dan Android Plugin for Gradle 2.2 menandatangani aplikasi Anda menggunakan APK Signature Scheme v2 dan skema penandatanganan tradisional, yang menggunakan penandatanganan JAR."
Sepertinya kotak centang baru ini muncul dengan Android 2.3, saya mengerti bahwa versi Android Studio saya sebelumnya (setidaknya 2.2) memang masuk dengan kedua tanda tangan. Jadi, untuk melanjutkan seperti yang saya lakukan sebelumnya, saya pikir lebih baik untuk memeriksa kedua kotak centang.
EDIT 31 Maret 2017: mengirimkan beberapa aplikasi dengan kedua tanda tangan => tidak ada masalah :)
sumber
Saya pikir ini merupakan jawaban yang bagus.
Verifikasi Tanda Tangan APK v2
APK Signing Block
dan verifikasi bahwa:APK Signing Block
berisi nilai yang sama.ZIP Central Directory
segera diikuti olehZIP End of Central Directory
catatan.ZIP End of Central Directory
tidak diikuti oleh lebih banyak data.APK Signature Scheme v2 Block
di dalamAPK Signing Block
. Jika Blok v2 jika ada, lanjutkan ke langkah 3. Jika tidak, kembali untuk memverifikasi APK menggunakan skema v1.APK Signature Scheme v2 Block
:SubjectPublicKeyInfo
sertifikat sertifikat pertama identik dengan kunci publik.Catatan: APK tidak boleh diverifikasi menggunakan skema v1 jika kegagalan terjadi pada langkah 3 atau 4.
Verifikasi APK yang ditandatangani oleh JAR (skema v1)
APK bertanda JAR adalah JAR bertanda standar, yang harus berisi persis entri yang terdaftar
META-INF/MANIFEST.MF
dan di mana semua entri harus ditandatangani oleh set penanda yang sama. Integritasnya diverifikasi sebagai berikut:META-INF/<signer>.SF
danMETA-INF/<signer>.(RSA|DSA|EC)
JAR.<signer>.(RSA|DSA|EC)
adalahPKCS #7 CMS ContentInfo
dengan struktur SignedData yang tanda tangannya diverifikasi atas<signer>.SF
file.<signer>.SF
file berisi seluruh file intisariMETA-INF/MANIFEST.MF
dan intisari setiap bagianMETA-INF/MANIFEST.MF
. Integrasi seluruh fileMANIFEST.MF
diverifikasi. Jika gagal, intisari setiapMANIFEST.MF
bagian akan diverifikasi.META-INF/MANIFEST.MF
berisi, untuk setiap entri JAR yang dilindungi integritas, bagian yang diberi nama yang berisi intisari konten terkompresi entri tersebut. Semua pencernaan ini diverifikasi.MANIFEST.MF
dan bukan bagian dari tanda tangan JAR. Rantai perlindungan dengan demikian<signer>.(RSA|DSA|EC)
→<signer>.SF
→MANIFEST.MF
→ isi dari setiap entri JAR yang dilindungi integritas.sumber
Menurut tautan ini: bantuan tanda tangan
APK Signature Scheme v2 menawarkan:
Hal ini dianjurkan untuk menggunakan APK Signature Scheme v2 tetapi tidak wajib .
sumber