我正在使用Eclipse IDE創建符合Android 2.2和更高版本的Android應用程序。我重構了我主要活動之一的名字。我的基本結構是,我有一個僞主頁活動,在這個應用程序內的其他「應用程序」(實際上是活動)具有導致其各自活動的圖標。我有一個類,最初是應用程序中這些分支之一的頭部活動,稱之爲Activity.java。 Activity.java最終只是指向了Activity_Home.java並且不再做任何事情,所以我決定擺脫它。我刪除了Activity.java,重建,然後重構Activity_Home.java到Activity.java,重建。有一個NoClassDefFoundError的:重構名稱後的NoClassDefFoundError
05-01 10:13:12.609: E/AndroidRuntime(15635): FATAL EXCEPTION: main
05-01 10:13:12.609: E/AndroidRuntime(15635): java.lang.NoClassDefFoundError: Activity.java
所以後來我擺弄了一下思路,可以幫助的東西后改名回Activity_Home.java。在每次嘗試發射前徹底清潔和重建。即使我檢查了CLASSPATH並且.class文件被正確命名,仍然保持獲取錯誤。最終,我讀了那個人,儘管他們不知道爲什麼這樣起作用,但通過刪除和重新制作文件來解決了類似的問題。我做到了。
這似乎工作,但我不知道爲什麼,現在每個文件更深,然後Activity_Home.java(例如有一個Activity_Camera.java所調用的活動)具有相同的問題。
我明顯不想刪除並重新制作所有.java文件,即使修復了問題,我仍然想知道爲什麼發生這種情況,而不僅僅是如何修復它。
編輯1:忘記提及我已經檢查了Manifest文件的不一致性。現在這個問題正在發生,我甚至沒有重新命名。可能是自動重構重命名的一部分? (純粹推測)
編輯2:問題與SherlockListActivity。說不管我重構了什麼,它都找不到APK。當我刪除SherlockListActivity時,它修復了我的問題。
如果你使用eclipse,請嘗試清潔項目。項目 - >清除。有時這個問題是由這個問題解決的。 – 2013-05-01 14:28:34
嘗試一下'Markers'視圖(標籤),在那裏,你可以檢查所有錯誤和警告。 Android操作系統非常擅長檢測運行時潛在的問題。 – gaborsch 2013-05-01 14:35:58