開發Android或者jee或者其他java應用時,如果eclipse中的項目前有個紅叉叉,但是src下有沒有任何提示錯誤但是又不能通過編譯的時候如何找到項目工程的錯誤根源呢?方法如下:
打開eclipse的problem視圖(如果關閉了可以在window->show view下找到problem視圖),然后在視圖中就可以看到項目的根源問題何在了,呵呵。
言歸正傳,回到我遇到的問題上。
問題描述:
在導入一個Android App后提示如下錯誤:
Description Resource Path LocationType
Error generating final archive: Debug Certificate expired on 8/18/11 9:30 PMxxxxxx(這個是我的項目名稱)UnknownAndroid Packaging Problem
原因分析:
android要求所有的程序必須有簽名,否則就不會安裝該程序。在我們開發過程中,adt使用debug keystore,在eclipse中的preference->android->buid中設置。debug的keystore默認有效期為一年,如果你是從一年前開始著手android開發的,那么在一年后很可能出現debug keystore過期,導致工程出錯(比如我的情況)或者無法生成 apk文件等等(由于我的eclipse和sdk/adb等重新安裝折騰過好多次了,一直沒遇到這個問題,今天運氣好碰上了,呵呵)。
解決方法:
只要刪除debug keystore和ddms.cfg文件即可,系統會為你重新生成有效期為一年的私鑰。 debug keystore和ddms.cfg文件地址位于:
1)linux(Mac OS):
在eclipse中的Window->Preferences->Android->Build中Default debug keystore查看keystore的地址:
“/home/用戶名/.android/debug.keystore”
刪除此路徑下的debug.keystore及 ddms.cfg
2)Windows:
進入:C:\Documents and Settings\用戶名\.android 刪除:debug.keystore及 ddms.cfg
進入:C:\Documents and Settings\Administrator\.android刪除:debug.keystore及 ddms.cfg