Saya telah mencari StackOverflow untuk sementara waktu, tetapi saya hanya ingin memastikan ...
Saya menghapus laptop saya beberapa waktu lalu, dan mencadangkan semua file saya. Saya telah mencadangkan file android.jks, dan kembali ke tempatnya. Ketika saya mencoba membuat APK bertanda tangan, itu memberi saya kesalahan menakutkan yang sama yang dialami semua orang:
Error:Execution failed for task ':app:packageRelease'.
> Failed to read key conjugationappkey from store
"/Users/wasimsandhu/android.jks": Cannot recover key
Saya memiliki android.jks saya, kata sandi kunci, kata sandi penyimpanan kunci. Semuanya benar. Apa yang saya lewatkan? Saya mencadangkan semua file saya, jadi jika ada file tertentu yang saya perlukan, saya dapat menemukannya, tetapi saya tidak tahu harus berbuat apa ...
Jika saya tidak masuk akal, mohon minta saya untuk mengklarifikasi. Terima kasih!
android
android-keystore
wasimsandhu
sumber
sumber
Jawaban:
Saya tidak terkejut ini tidak mendapatkan daya tarik apa pun, tetapi inilah yang saya lakukan untuk siapa saja yang tersandung pada posting ini.
Seperti yang saya katakan, semua file saya sudah di-backup. Saya memulihkan file android.jks dari cadangan yang lebih lama. Kemudian, saya membuka jendela Terminal dan mengetik berikut ini:
keytool -storepasswd -new [insert new keystore password] -keystore [insert keystore file name] keytool -keypasswd -alias [insert alias] -new [insert new key password] -keystore [insert keystore file name]
Keystore dan kata sandi kunci harus sama! Ini memperbaiki masalah saya, dan saya harap ini membantu Anda juga.
sumber
[Pembaruan: Ini tidak lagi berfungsi di Android studio 3.0 dan lebih tinggi]
Saya menghadapi masalah yang sama dan tidak ada solusi yang berhasil setelah menghabiskan 3 jam di Internet, saya memutuskan untuk menggali lebih dalam.
Inilah cara saya mengatasinya: Kesalahan "Tidak dapat memulihkan kunci" bagi saya adalah karena "Kata sandi Keystore" saya benar tetapi "Kata Sandi Kunci" (dari alias kunci) salah . Saya cukup yakin kedua kata sandi itu sama tetapi yang membuat saya cemas ternyata tidak dan saya tidak tahu apa kata sandi kedua. Karena saya sudah menandatangani APK sebelum saya memeriksa file log yang dapat ditemukan:
Buka file log dari tanggal Anda menandatangani apk dan cari entri berikut:
INFO - .project.GradleExecutionHelper - Passing command-line args to Gradle Tooling API: [--configure-on-demand, -Pandroid.injected.invoked.from.ide=true, -Pandroid.injected.signing.store.file=E:\HobbyProjects\XYZProject\gpsjs.jks, -Pandroid.injected.signing.store.password=***KeyStorePassword***, -Pandroid.injected.signing.key.alias=***alias_name***, -Pandroid.injected.signing.key.password=***Key password***,
Dan Anda akan menemukan kata sandi dalam teks biasa. Ini bahkan akan berfungsi jika Anda lupa kata sandi.
sumber
master password
yang saya masukkan saat menandatangani apk, tetapi saya hanya perlu mengulangkey password
.Jika itu dapat membantu siapa pun - masalah dalam kasus saya adalah "Kata sandi penyimpanan kunci" dan "Kata sandi kunci" salah.
sumber
Saya mencoba semua saran yang diberikan dalam jawaban dan komentar :(
Kata sandi kunci dan kata sandi keystore saya persis sama. Menggunakan android studio 3.4
Apa yang berhasil bagi saya adalah keluar dari Android Studio secara paksa, mulai lagi, bersihkan dan bangun kembali proyek, lalu buat apk yang ditandatangani. semua konfigurasi persis sama tetapi bekerja saat ini
sumber
[Android Studio 3.3] Saya mendapatkan kesalahan 'tidak dapat memulihkan kunci' saat membuat APK yang ditandatangani. Saya mampu memeriksa dalam idea.log tua atas kebenaran password saya: Penyimpanan Kunci dan password Key yang identik dan benar.
Memperbarui kata sandi kunci di terminal:
keytool -keypasswd -alias MYKEY -keystore KEYSTORE
Tampaknya tidak mungkin lagi memiliki sandi yang identik untuk keystore dan kunci. Keytool memberi saya kesalahan, ketika saya mencoba. Setelah menyetel sandi yang berbeda untuk kunci tersebut, Android Studio membuat APK yang ditandatangani.
Mungkin, di versi Android Studio sebelumnya, kata sandi harus identik - sekarang mungkin sebaliknya.
sumber
Ini dapat membantu seseorang.
Beberapa hari sebelumnya saya membackup proyek android saya di gitlab dan kemudian menginstal windows 10. Setelah itu saya mengkloningnya. Saya tahu alias kunci dan kedua kata sandinya dengan tepat.
Kemudian saat membuat apk yang ditandatangani, saya memasukkan kredensial tersebut tetapi gagal.
Saya telah menempatkan file jks di folder aplikasi. Saya menghapusnya dari sana dan membuat folder terpisah di folder root proyek android dan menempatkan file jks di sana.
Kemudian saya mencoba membersihkan, membangun kembali proyek dan kemudian memulai ulang studio android. Akhirnya itu membangun apk yang ditandatangani: D
sumber
Masalah ini hanya terjadi jika Kata Sandi Kunci atau Kata Sandi Keystore Anda Salah.
sumber
Kata sandi saya sama dan masih mendapatkan kesalahan ini. Membersihkan, membangun kembali, dan memulai ulang Android studio tidak berhasil untuk saya. Satu-satunya solusi yang berhasil untuk saya adalah memindahkan file keystore.jks ke lokasi baru. Semoga ini membantu.
sumber
Saya baru saja menghapus bagian signConfigs dari file gradle aplikasi saya. Kemudian bangun kembali proyek dan berhasil kembali.
sumber
Saya mendapat keberuntungan untuk memeriksa di Android Studio tab Struktur Proyek / Penandatanganan, dan menemukan kata sandi kunci dan kata sandi penyimpanan tercantum dalam teks biasa. Saya pikir mereka sama satu sama lain, tetapi ternyata tidak.
sumber
Jika Anda menjalankan gerhana, coba matikan dan buat apk bertanda tangan lagi.
Dalam kasus saya, saya memeriksa bahwa semua kata sandi sudah benar dan bahkan menghasilkan penyimpanan kunci baru dari studio Android. Itu masih tidak berfungsi, tetapi setelah saya mematikan gerhana yang sedang berjalan, semuanya hanya berfungsi, dengan penyimpanan kunci lama yang saya gunakan atau dengan yang baru dibuat.
sumber
Saya telah membuat zip file tanda tangan saya sebelumnya saat pertama kali membuatnya. Ketika saya mendapatkan kesalahan ini, saya menggunakannya lagi. Anda dapat menggunakannya jika Anda memiliki cadangan. Saya pikir kita telah merusak sesuatu sebelum mereka menyadarinya.
sumber
Saya menghadapi masalah yang sama. Dalam kasus saya, Setelah proyek sinkronisasi dengan file gradle menyelesaikan masalah ini. Ini mungkin membantu seseorang.
sumber
Saya hanya menghapus
.iml
file dari proyek saya . Kemudian merombak proyek dan berhasil sekali lagi.sumber