我正在使用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