2015-05-02 34 views
40

Tôi đã tìm kiếm StackOverflow một thời gian, nhưng tôi chỉ muốn đảm bảo ...Android Studio: không thể khôi phục khóa

Tôi đã xóa sạch máy tính xách tay của mình trước đây và sao lưu tất cả các tệp của tôi. Tôi đã sao lưu tệp android.jks của mình và tệp đã được đặt lại. Khi tôi cố tạo APK đã ký, nó cho tôi một lỗi đáng sợ mà mọi người đều nhận được:

Error:Execution failed for task ':app:packageRelease'. 
> Failed to read key conjugationappkey from store  
"/Users/wasimsandhu/android.jks": Cannot recover key 

Tôi có mật khẩu khóa, mật khẩu khóa chính. Mọi thứ đều chính xác. Tôi đang thiếu gì? Tôi đã sao lưu tất cả các tệp của mình, vì vậy nếu có một tệp cụ thể mà tôi cần, tôi có thể tìm thấy nó, nhưng tôi không biết phải làm gì ...

Nếu tôi không hiểu, hãy hỏi tôi làm rõ. Cảm ơn!

Trả lời

49

Tôi không ngạc nhiên khi điều này không đạt được bất kỳ lực kéo nào, nhưng đây là những gì tôi đã làm cho bất kỳ ai tình cờ gặp bài đăng này.

Như tôi đã nói, tất cả các tệp của tôi đã được sao lưu. Tôi đã khôi phục tệp android.jks từ bản sao lưu cũ hơn. Sau đó, tôi mở một cửa sổ Terminal và gõ vào như sau:

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] 

Các keystore và mật khẩu chủ chốt phải được như vậy! Điều này đã khắc phục được sự cố của tôi và tôi hy vọng nó cũng giúp bạn.

+3

Cảm ơn bạn! Làm thế nào bạn phát hiện ra rằng các mật khẩu phải giống nhau? Tôi đã bắt đầu gặp lỗi này ngay hôm nay. Cho đến bây giờ mọi thứ hoạt động tốt với hai mật khẩu khác nhau. –

+0

Cùng với tôi. Vấn đề bắt đầu từ ngày này sang ngày khác! Tôi đã không sử dụng các tập tin sao lưu cũ ... Nó chỉ vui vẻ. – Tino

+1

Mật khẩu của tôi giống nhau và tôi vẫn gặp lỗi này. Tôi đã có thể ký phiên bản trước đó bằng cùng một khóa. Bây giờ tôi nên làm gì? –

38

Tôi gặp phải vấn đề tương tự và không có giải pháp nào hoạt động sau khi lãng phí 3 giờ trên Internet, tôi quyết định đào sâu.

Dưới đây là cách tôi giải quyết nó: Lỗi "Không thể khôi phục lại quan trọng" đối với tôi là vì "Keystore mật khẩu" của tôi là đúng nhưng "Mật khẩu Key" (của bí danh chủ chốt) là không chính xác. Tôi đã khá chắc chắn cả hai mật khẩu đều giống nhau nhưng để mất tinh thần của tôi họ không và tôi không biết mật khẩu thứ hai là gì. Như tôi đã ký một gói ứng dụng trước khi tôi kiểm tra ra các log file mà có thể được tìm thấy:

  • C: \ Users \ your_username \ .AndroidStudio2.1 \ system \ log \

Mở các tệp nhật ký từ ngày bạn đã ký apk và tìm kiếm các mục sau:

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***, 

Và bạn sẽ tìm thấy mật khẩu ở dạng văn bản thuần túy. Điều này thậm chí sẽ hoạt động nếu bạn quên mật khẩu.

+1

CÓ! CUỐI CÙNG! Mật khẩu của tôi nằm trong tệp "ý tưởng" bên trong thư mục bạn đã đề cập. Tôi thậm chí đã cố gắng sử dụng một cracker mật khẩu nhưng nó đã cho tôi vượt qua Alias ​​và tôi mặc dù nó đã được keystore, nhưng nó đã không được. – George

+0

Cảm ơn! Tôi đã sử dụng 'mật khẩu chủ' mà tôi đã nhập khi ký gói ứng dụng, nhưng tôi chỉ cần lặp lại 'mật khẩu khóa'. – JCarlos

+0

Tôi chưa bao giờ thấy tệp nhật ký. Để kiểm tra các tập tin nhật ký cung cấp cho tôi một đầu mối rất mạnh. Cảm ơn bạn. – hata

8

Nếu nó có thể giúp bất kỳ ai - vấn đề trong trường hợp của tôi là "Mật khẩu lưu trữ khóa" và "Mật khẩu khóa" không chính xác.

+1

Tương tự. 'Không thể phục hồi điểm' tại vấn đề rất rõ ràng –

Các vấn đề liên quan