Saya telah mendekodekan APK dengan apktool (karena kode sumber aslinya hilang) sehingga saya dapat memperbaiki beberapa masalah dengan file layout xml. Saya kemudian membangunnya kembali dengan apktool dan ketika saya mencoba menginstalnya di perangkat saya (menggunakan adb: adb install appname.apk) itu memberi saya kesalahan ini:
[INSTALL_PARSE_FAILED_NO_CERTIFICATES]
Namun apk asli telah ditandatangani oleh keystore (di eclipse IDE), yang ini tidak, bagaimana saya bisa menandatanganinya dengan benar dengan file keystone asli di luar Eclipse !?
android
android-install-apk
apk
svarog.dll
sumber
sumber
Jawaban:
buat kunci menggunakan
lalu tanda tangani apk menggunakan:
periksa di sini untuk info lebih lanjut
sumber
jarsigner
danapksigner
? Satu membutuhkan penandatanganan dan kemudian zipaligning dan yang lainnya zipaligning dan kemudian signinigProses Otomatis:
Gunakan alat ini (menggunakan apksigner baru dari Google):
https://github.com/patrickfav/uber-apk-signer
Penafian: Saya pengembang :)
Proses Manual:
Langkah 1: Buat Keystore (hanya sekali)
Anda perlu membuat keystore sekali dan menggunakannya untuk menandatangani
unsigned
apk . Gunakan yang disediakan oleh JDK yang ada dikeytool
%JAVA_HOME%/bin/
Langkah 2 atau 4: Zipalign
zipalign
yang merupakan alat yang disediakan oleh Android SDK misalnya,%ANDROID_HOME%/sdk/build-tools/24.0.2/
merupakan langkah pengoptimalan wajib jika Anda ingin mengunggah apk ke Play Store.Catatan: saat menggunakan yang lama
jarsigner
Anda perlu zipalign SETELAH penandatanganan. Saat menggunakan yang baruapksigner
metode Anda melakukannya SEBELUM penandatanganan (membingungkan, saya tahu). Memanggil zipalign sebelum apksigner berfungsi dengan baik karena apksigner mempertahankan penyelarasan dan kompresi APK (tidak seperti jarsigner).Kamu bisa memverifikasi keselarasan dengan
Langkah 3: Tanda Tangan & Verifikasi
Menggunakan alat build 24.0.2 dan yang lebih lama
Gunakan
jarsigner
yang, seperti keytool, hadir dengan distribusi JDK yang ditemukan di%JAVA_HOME%/bin/
dan menggunakannya seperti ini:dan dapat diverifikasi dengan
Menggunakan alat build 24.0.3 dan yang lebih baru
Android 7.0 memperkenalkan APK Signature Scheme v2, skema penandatanganan aplikasi baru yang menawarkan waktu penginstalan aplikasi lebih cepat dan lebih banyak perlindungan terhadap perubahan tidak sah pada file APK (Lihat di sini dan di sini untuk detail selengkapnya). Oleh karena itu, Google menerapkan penandatangan apk
apksigner
mereka sendiri yang disebut (duh!) File skrip dapat ditemukan di%ANDROID_HOME%/sdk/build-tools/24.0.3/
(.jar ada di/lib
subfolder). Gunakan seperti inidan dapat diverifikasi dengan
Dokumentasi resmi dapat ditemukan di sini.
sumber
[INSTALL_PARSE_FAILED_NO_CERTIFICATES]
). Memverifikasi dengan uber-apk-signer memberi saya wawasan lebih lanjutsignature VERIFY FAILED
[...]ERROR: JAR signer CERT.RSA: JAR signature META-INF/CERT.RSA uses digest algorithm 2.16.840.1.101.3.4.2.1 and signature algorithm 1.2.840.113549.1.1.1 which is not supported on API Levels [[15, 17]]
. Ya, android 4.2.2, SHA256 tidak ada? ide ide?cara tercepat adalah dengan masuk dengan keystore debug:
atau di Windows:
sumber
Anda menggunakan jarsigner untuk menandatangani APK. Anda tidak perlu masuk dengan keystore asli, cukup buat yang baru. Baca detailnya: http://developer.android.com/guide/publishing/app-signing.html
sumber
Bagi Anda yang tidak ingin membuat file bat untuk diedit untuk setiap proyek, atau tidak ingin mengingat semua perintah yang terkait dengan program keytools dan jarsigner dan hanya ingin menyelesaikannya dalam satu proses gunakan program ini:
http://lukealderton.com/projects/programs/android-apk-signer-aligner.aspx
Saya membuatnya karena saya muak dengan proses yang panjang karena harus mengetik semua lokasi file setiap saat.
Program ini dapat menyimpan konfigurasi Anda sehingga lain kali Anda memulainya, Anda hanya perlu menekan Generate dan program itu akan menanganinya untuk Anda. Itu dia.
Tidak perlu instalasi, ini sepenuhnya portabel dan menyimpan konfigurasinya dalam CSV di folder yang sama.
sumber
Jawaban yang diperbarui
Periksa https://shatter-box.com/knowledgebase/android-apk-signing-tool-apk-signer/
Jawaban lama
periksa penandatangan apk cara yang bagus untuk menandatangani aplikasi Anda
sumber