2019年3月6日 星期三

Android 產生Signed Apk時錯誤 Keystore was tampered with, or password was incorrect

在產生signed apk時

明明輸入正確密碼卻出現 Keystore was tampered with, or password was incorrect 錯誤訊息

密碼打到懷疑人生...一直以為是密碼錯誤

 於是開始找密碼  

方法一: https://github.com/nanqiu/android-keystore-password-recover/blob/master/README.md

下載這個程式 把你的xxxx.jks放到同一資料夾

建立一個關鍵字wordlist.txt

然後想想可能的關鍵字 打在裡面

打開 cmd下指令
java -jar AndroidKeystoreBrute_v1.05.jar -m 3 -k xxxx.jks -d "wordlist.txt" 

 找到密碼

結果密碼沒錯啊

回到Android Studio再產生看看, 一樣是說密碼錯誤 wtf, 難道是其中有一個密碼錯誤

於是再繼續找密碼


https://stackoverflow.com/questions/28034899/how-to-retrieve-key-alias-and-key-password-for-signed-apk-in-android-studiomigr

這篇提到如果有用過Android Studio 2.2之前的

Android Studio會有Log檔案, 裡面竟然有密碼啊啊啊啊啊

Windows系統位置在
C:\Users\xxxxx\.AndroidStudio2.2\system\log
裡面有個 idea.log.1
用記事本打開他, 搜尋一下password,  you got it !!!
兩個密碼都有
結果都正確啊啊啊啊啊啊

於是我開始懷疑根本是Android Studio的問題

https://stackoverflow.com/questions/32987530/android-studio-keystore-was-tampered-with-or-password-was-incorrect
提到換密碼就好

https://stackoverflow.com/questions/2889238/keystore-change-passwords

先找到keytool位置
C:\Program Files\Java\jdk1.8.0_73\bin
然後將你的xxxx.jks放在這
cmd下指令
 
keytool -storepasswd -keystore xxxx.jks
會要你輸入舊密碼與新密碼
 
keytool -keypasswd  -alias xxxx -keystore xxxx.jks
alias名稱要正確
然後一樣輸入舊密碼與新密碼
完成


回到Android Studio, 一定要先Clean Project
再Generate Signed Bundle/APK

成功產生!!! 害我嚇到吃手手 WTF