Java 重构名称后出现NoClassDefFoundError
我正在使用EclipseIDE创建一个符合Android2.2及更高版本的Android应用程序。我重构了我的一个主要活动的名称。我的基本结构是,我有一个伪主页活动,其中这个应用程序中的其他“应用程序”(实际上是活动)具有指向各自活动的图标。我有一个类,最初是应用程序中这些分支之一的head活动,称之为activity.java。java最终只是指向Activity_Home.java,不再做任何事情,所以我决定将其删除。我删除了Activity.java,重新构建,然后将Activity_Home.java重构为Activity.java,重新构建。获取了NoClassDefFoundError:Java 重构名称后出现NoClassDefFoundError,java,android,eclipse,actionbarsherlock,noclassdeffounderror,Java,Android,Eclipse,Actionbarsherlock,Noclassdeffounderror,我正在使用EclipseIDE创建一个符合Android2.2及更高版本的Android应用程序。我重构了我的一个主要活动的名称。我的基本结构是,我有一个伪主页活动,其中这个应用程序中的其他“应用程序”(实际上是活动)具有指向各自活动的图标。我有一个类,最初是应用程序中这些分支之一的head活动,称之为activity.java。java最终只是指向Activity_Home.java,不再做任何事情,所以我决定将其删除。我删除了Activity.java,重新构建,然后将Activity_Ho
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。在每次尝试发射前,彻底清洁和重建。尽管我检查了类路径,并且.class文件的命名正确,但仍然不断收到错误。最后我读到有人,虽然他们不知道为什么这样做有效,但通过删除和重新创建文件修复了类似的问题。我做到了
这似乎奏效了,但我不知道为什么,现在比Activity_Home.java更深的每个文件(例如,有一个名为Activity_Camera.java的活动)都有相同的问题
很明显,我不想删除和重做所有的.java文件,即使这解决了这个问题,我仍然想知道为什么会发生这种情况,而不仅仅是如何解决它
编辑1:忘记提到我已经检查了清单文件的不一致性。这个问题现在发生在一个我甚至没有重命名的类上。可能是自动重构重命名的一部分?(纯粹的猜测)
编辑2:Sherlocklist活动的问题。说无论我做了什么重构,它都找不到APK。当我删除SherlockListActivity时,它修复了我的问题。重构名称将更改java类中的
类
名称,但不会更改清单
文件中的名称
同时尝试更改AndroidManifest.xml
中的类名,这将解决此问题
<activity android:name="com.raman.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER">
</intent-filter>
</activity>
有些事情你必须检查。这些是:
如果您正在使用eclipse,请尝试清理项目。项目-->清洁。有时此问题可以通过此解决。请尝试查看
标记
视图(选项卡),在那里可以检查所有错误和警告。Android操作系统非常擅长在运行时检测潜在问题。