[英]I have forgotten my keystore password and I want to install my apk on Google Play. What do I do?
我已經提交了一份申請,一個月前我簽署了它的 apk。 現在我忘記了它的密碼,當我為此使用新密鑰並將其安裝在 Google Play 上時,它給了我指紋錯誤。 我能做什么?
申請鏈接在這里。
出現錯誤:
更新 apk 時必須使用相同的證書,否則 Google Play 不會將其識別為同一個應用程序。
如果你根本不記得你的密碼,我認為除了從一個新的應用程序(新的包名)開始之外別無選擇。
來自谷歌文檔
應用程序升級 – 當您發布應用程序更新時,如果您希望用戶能夠無縫升級到新版本,您必須繼續使用相同的證書或一組證書對更新進行簽名。 當系統安裝應用程序更新時,它會將新版本中的證書與現有版本中的證書進行比較。 如果證書完全匹配,包括證書數據和順序,則系統允許更新。 如果您在不使用匹配證書的情況下簽署新版本,您還必須為應用程序分配一個不同的包名稱——在這種情況下,用戶將新版本安裝為一個全新的應用程序。
來源: http : //developer.android.com/tools/publishing/app-signing.html
Android 開發者博客中也有類似信息: http : //android-developers.blogspot.com.au/2011/06/things-that-cannot-change.html
與清單包名稱一樣重要的是應用程序簽名的證書。 簽名證書代表應用程序的作者。 如果更改應用程序簽名的證書,它現在是不同的應用程序,因為它來自不同的作者。 這個不同的應用程序不能作為原始應用程序的更新上傳到市場,也不能作為更新安裝到設備上。
[...]
結論:您的應用程序的某些部分無法更改。 請小心。
密鑰庫密碼可以破解,但稍后您仍需要別名密碼。
從這里下載這兩個文件
https://gist.github.com/zach-klippenstein/4631307
構建:
javac ChangePassword.java
運行:
java ChangePassword <keystore filename> <new keystore filename>
丟失的密鑰密碼可以在.gradle文件夾下找到,路徑如下:
.gradle\3.3\taskArtifacts\taskArtifacts.bin
我認為 3.3 是 gradle 版本的編號,在某些情況下可能會發生變化。 如果版本大於 4.0 路徑實際上是不同的:
.gradle\4.1\taskHistory\taskHistory.bin
無論如何,這是二進制文件,因此它們充滿了無法讀取的數據,但是如果您搜索字符串“signingConfig.storePassword”,您會發現很多文本,我的看起來像:
<97>signingConfig.keyAlias^C<8a>MY_KEY_ALIAS<9c>signingConfig.storePassword^C<92>MY_STORE_PASSWORD<98>signingConfig.storeType^C<84>jks<9f>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.