解決 eclipse 上 Keystore was tampered with, or password was incorrect

銳湃發表於2015-08-25

修改Android簽名證書keystore的密碼、別名alias以及別名密碼

之前在測試Eclipse ADT的Custom debug keystore自定義除錯證書的時候,發過一篇關於除錯證書規格的博文:Eclipse ADT的Custom debug keystore所需證書規格,提到過自定義除錯證書的密碼和alias命名以及alias密碼都是有規矩的。其實Android應用開發接入各種SDK時會發現,有很多SDK是需要靠package name和keystore的指紋hash來識別的(百度地圖SDK、Facebook SDK等等…),這樣如果使用預設自動生成的debug keystore的話就會給開發除錯工作帶來一些麻煩。這時可以通過修改正式的release keystore,生成一份“遵守規矩”的臨時自定義除錯證書給開發時用,就方便多了,具體方法如下:

 

1. 首先當然是先複製一份正式證書出來作為要修改為的臨時除錯證書。這裡我們這支的keystore 的密碼為hahaha,alias為silence,alias的密碼為xixixi

2. 修改keystore密碼的命令(keytool為JDK帶的命令列工具):

keytool -storepasswd -keystore my.keystore

其中,my.keystore是複製出來的證書檔案,執行後會提示輸入證書的當前密碼(hahaha),和新密碼(android)以及重複新密碼(android)確認。這一步需要將密碼改為android

3. 修改keystore的alias

keytool -changealias -keystore my.keystore -alias my_name -destalias androiddebugkey

這一步中,my_name是證書中當前的alias(silence),-destalias指定的是要修改為的alias,這裡按規矩來,改為androiddebugkey!這個命令會先後提示輸入keystore的密碼(android,已經在第二步中進行了修改)和當前alias的密碼(xixixi)。

4. 修改alias的密碼:

keytool -keypasswd -keystore my.keystore -alias androiddebugkey

這一步執行後會提示輸入keystore密碼(android),alias密碼(xixixi),然後提示輸入新的alias密碼(android),同樣,按規矩來,改為android!

以上幾個操作執行後,my.keystore就是符合規矩的debug keystore了,接著在Eclipse的ADT設定中選中這個custom debug keystore即可,如下:

sdk-an5

同時還可以看到證書的MD5以及SHA1指紋。

PS:以上3步命令列並沒有先後順序。


key.alias= 別名

此別名一開始以為可以隨便寫,後來多次嘗試發現亂寫打包一定不成功,此別名要與第一次生成簽名時的別名一至,由於簽名不是我申請的,申請簽名的同事也忘記了簽名的別名,如此只好找工具看一下簽名的資訊了,其實工具不用找了,在jdk中有

直接keytool -list  -v -keystore xxxx.keystore -storepass 密碼  簽名的資訊就有了

轉自:http://blog.csdn.net/u012049463/article/details/41822051

相關文章