筆者今天在開發一個android小項目的時候,遇到一個很惱火的錯誤,這個錯誤表現出來的特征是:
1、所有的代碼都沒有錯誤
2、R資源生成也沒有錯誤,但是一運行就報錯。
通過 error log 發現系統報瞭如下錯誤:
Description Resource Path Location Type
Error generating final archive: Debug Certificate expired on 12-3-19 上午8:59bdwmUnknownAndroid Packaging Problem
筆者可是百思不得其解,剛開始以為是SDK路徑損壞,或者是R資源文件生成錯誤。後來經過一番的查找資料之後,找到瞭這個問題的解決方案:
那就是在 C:\Documents and Settings\Administrator\.android 目錄下將 debug.keystore 和 ddms.cfg 刪除掉。 刪除掉之後,再reflesh一下,果然可以。所以筆者就講這個錯誤的解決方案總結一下,供大傢參考。
查找資料之後,有人對這個錯誤的解釋這樣的:
android要求所有的程序必須有簽名,否則就不會安裝該程序。debug的keystore默認有效期為一年,如果你是從一年前開始完android程序,那麼在一年後導入這個app的時候很可能出現debug keystore過期,導致你無法生成 apk文件。
摘自 北京大學-Google Android實驗室