平時在使用eclipse進行android project開發時,因爲每一個項目組都有自身的簽名,但默認Eclipse ADT調試運行使用的是臨時生成的Debug證書,默認爲C:\Users\XXX\.android\debug.keystore。 android
每次調試程序必須使用ADT的Export Signed Application Package打帶正式簽名的包,或者另寫從新簽名腳本,比較麻煩。 eclipse
後來發現ADT容許自定義調試用證書,在Window->Preferences->Android->Build->Custom debug keystore這裏 工具
試了一下選擇正式證書後提示:」Keystore was tampered with, or password was incorrect」 ui
其實這個界面並無提供輸入Keystore密碼,選擇別名之類的地方,因此就感到很是奇怪了,查了一下官方文檔發現,即便是自定義的調試證書,也須要保證和默認證書同樣的密碼,別名alias和別名密碼。 命令行
文檔中提到的默認證書信息以下: debug
Keystore name: 「debug.keystore」 調試
Keystore password: 「android」
Key alias: 「androiddebugkey」
Key password: 「android」
CN: 「CN=Android Debug,O=Android,C=US」 ip
遵循這個規則就能夠用自定義調試證書了。不過仔細想一想感受這功能這樣非常雞肋,但願之後版本的ADT會改進吧。 開發
那麼,咱們就能夠按照android默認證書規範,更改項目的簽名文件的密碼,別名和別名密碼。而後將 "Custom debug keystore" 設置爲修改事後的簽名文件。 文檔
具體操做步驟以下:
1. 首先固然是先複製一份正式證書出來做爲要修改成的臨時調試證書。
2. 修改keystore密碼的命令(keytool爲JDK帶的命令行工具):
keytool -storepasswd -keystore my.keystore
其中,my.keystore是複製出來的證書文件,執行後會提示輸入證書的當前密碼,和新密碼以及重複新密碼確認。這一步須要將密碼改成android。
3. 修改keystore的alias:
keytool -changealias -keystore my.keystore -alias my_name -destalias androiddebugkey
這一步中,my_name是證書中當前的alias,-destalias指定的是要修改成的alias,這裏按規矩來,改成androiddebugkey!這個命令會前後提示輸入keystore的密碼和當前alias的密碼。
4. 修改alias的密碼:
keytool -keypasswd -keystore my.keystore -alias androiddebugkey
這一步執行後會提示輸入keystore密碼,alias密碼,而後提示輸入新的alias密碼,一樣,按規矩來,改成android!