自ADT 22更新后,AndroidAnnotations生成的类上的ClassNotFoundException

自ADT 22更新后,AndroidAnnotations生成的类上的ClassNotFoundException,android,classnotfoundexception,eclipse-adt,android-annotations,Android,Classnotfoundexception,Eclipse Adt,Android Annotations,这个项目在升级到ADT22之前创造了奇迹。我已经损失了一天,因为我不知道我必须下载构建工具,我担心我会因此失去另一个 当我尝试构建两天前运行的相同代码时,出现了以下异常: com.cidaut.blueparking致命错误:无法实例化活动\ ComponentInfo{com.cidaut.blueparking/com.cidaut.blueparking.SplashScreen}:\ java.lang.ClassNotFoundException:\ 在路径上未找到类“com.cida

这个项目在升级到ADT22之前创造了奇迹。我已经损失了一天,因为我不知道我必须下载构建工具,我担心我会因此失去另一个

当我尝试构建两天前运行的相同代码时,出现了以下异常:

com.cidaut.blueparking致命错误:无法实例化活动\
ComponentInfo{com.cidaut.blueparking/com.cidaut.blueparking.SplashScreen}:\
java.lang.ClassNotFoundException:\
在路径上未找到类“com.cidaut.blueparking.SplashScreen”:\
/data/app/com.cidaut.blueparking-1.apk
java.lang.RuntimeException:无法实例化活动\
ComponentInfo{com.cidaut.blueparking/com.cidaut.blueparking.SplashScreen}:\
java.lang.ClassNotFoundException:\
在路径上未找到类“com.cidaut.blueparking.SplashScreen”:\
/data/app/com.cidaut.blueparking-1.apk
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106)上
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
在android.app.ActivityThread.access$600(ActivityThread.java:141)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
位于android.os.Handler.dispatchMessage(Handler.java:99)
位于android.os.Looper.loop(Looper.java:137)
位于android.app.ActivityThread.main(ActivityThread.java:5041)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:511)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
在dalvik.system.NativeStart.main(本机方法)
原因:java.lang.ClassNotFoundException:\
在路径上未找到类“com.cidaut.blueparking.SplashScreen”:\
/data/app/com.cidaut.blueparking-1.apk
位于dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:501)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:461)
位于android.app.Instrumentation.newActivity(Instrumentation.java:1054)
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)上
... 还有11个
事实上,我觉得它试图在APK文件中查找类很奇怪,但不管怎样。有什么解决办法吗

顺便说一下,我的类路径包括AndroidAnnotations生成代码的源文件夹,所以这不是问题所在

这是我的订单和出口窗口

AndroidAnnotations类生成错误日志

编辑:现在它正在工作

我遵循的程序是:

  • 清理和重建一切
  • 在每个项目(主项目和库)的“订单和导出”选项卡上选中所有内容
  • 重新清理和重建一切
  • 现在可以了。我简直不敢相信我因此损失了将近12个小时…

    转到“配置构建路径”的“订购和导出”选项卡,然后单击所有所需库旁边的复选标记以下是解决方案:

  • 在Eclipse中,右键单击项目名称并选择Properties

  • 选择Order and Export选项卡,然后确保选中了Android私有库

  • 清理项目,从项目->清理


  • 如果将来有人遇到这个问题,可以在这里弹出答案。我在我的应用程序中添加了
    ActionBarCompat
    ,该应用程序正在使用AndroidAnnotations,并且存在同样的问题。事实证明,特定应用程序正在使用的所有库都需要存在于父应用程序中。因此,即使ABC是Eclipse中的一个库项目,并且代码已编译,我仍然需要将ABC作为库包含在我的应用程序中。

    我也遇到了类似的问题-结果是,引用项目中包含的支持库存在JAR不匹配,这导致了问题。确保每个项目都使用相同版本的支持库为我解决了这个问题。

    我也有同样的问题,这是由于项目“java构建路径”中的“允许源文件夹的输出文件夹”选项造成的。 我检查了一下,又检查了一遍,问题就解决了。
    无论出于何种原因,使用的路径与默认路径不同。也许是因为m2e安卓

    检查类是否存在,也检查构建器是否存在,并且顺序是否正确。这些类确实存在。建筑商?你是什么意思?不,对不起,如果有错误的轨道,我肯定注释处理器是开着的。@santirivera92这是什么“com.cidaut.blueparking.SplashScreen”?我的意思是,我认为您在项目中添加了库。。我说的对吗?@santirivera92,还要确保你已经检查了Android私有库。。你所有的jar文件都应该在你的Android私有库中。好吧,你说的有一部分是对的。问题不在我的项目的“订单和导出”选项卡中,而是在我的库的“订单和导出”选项卡中。现在,我正在导出每个项目中的所有内容,并且它再次起作用。非常感谢你!这应该是所有需要的。哦,哇,我花了很多时间在这上面。我正在使用android maven插件3.9.0-rc.2和ADT 22.6.3.v201404151837-1123206。最后,我转到Properties | Java Build Path | Source,取消选中并重新检查了“Allow output folders for Source folders”(对于我的应用程序项目和库项目),并进行了一次干净的构建。这个错误消失了!奇怪的是,我回到了项目的属性,这个选项现在被取消选中了!但至少我的应用程序现在正在运行。你是对的,有时会因为JAR不匹配而发生这种情况,在低于API 21的设备上工作时,由于某些原因,模块和项目中存在重复的依赖项会导致此错误。可惜堆栈跟踪没有提供线索!