總結一下android keystore的一些問題。
android的debug.keystore出現了問題會導致以下問題:
1.eclipse clean無法產生APK檔案
出現這個問題的原因在於android的debug.keystore出現了問題。預設情況下eclipse會自動產生一個
debug.keystore(C:\Documents and Settings\Administrator\.android\debug.keystore),並在項
目bin目錄產生帶簽名(debug.keystore)的APK檔案,如果clean項目無法產生APK檔案,解決的辦法
就是刪除debug.keystore,clean後能再次產生debug.keystore,日期是目前時間。刪除debug.keystore後原來的應用
程式需要卸載否則新的APK檔案無法安裝(當然可以改主目錄結構後安裝),因為簽名不一致。
2.使用google map會顯示方格
可以參考之前寫過一篇文章解決android使用google
map時顯示方格的問題,如果是keyAPI的問題始終無法解決,可以將
debug.keystore刪除再次擷取產生相關的keyAPI,同時注意發布應用程式時需要為新的keystore檔案產生新的keyAPI。
3.無法線上更新安裝新軟體(APK)
當一個軟體(APK)需要實現線上下載,更新,安裝,需要替換原來檔案時,原版本與新版本簽名需要一致
,否則無法安裝(Re-installation failed due to different application signatures.)。因此要發布新應用程式時需要產生新的keystore檔案(注意儲存,發布新版本也需
要),重新打包新的APK檔案。需要注意的一點:當你是使用模擬器測試線上更新軟體功能時,需要注
意模擬器使用的是debug.keystore的簽名,而線上下載的可能是重建的keystore檔案而導致安裝
失敗。
4.Keystore was tampered with, or password was incorrect
這個是試圖採用新的keystore代替debug.keystore時產生的錯誤提示。因此不要試圖更改預設的
debug.keystore,如果試圖產生新的keystore後命名為debug.keystore並放在C:\Documents and
Settings\Administrator\.android\ 的目錄,這樣只會導致eclipse clean無法產生APK檔案。如果你非
要改變debug.keystore,只有刪除debug.keystore後在eclipse中clean一下產生新的debug.keystore。