14

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

当我尝试构建两天前工作的相同代码时,我得到了这个异常:

com.cidaut.blueparking fatal error : Unable to instantiate activity \
    ComponentInfo{com.cidaut.blueparking/com.cidaut.blueparking.SplashScreen_}: \
    java.lang.ClassNotFoundException: \
    Didn't find class "com.cidaut.blueparking.SplashScreen_" on path: \
    /data/app/com.cidaut.blueparking-1.apk
java.lang.RuntimeException: Unable to instantiate activity \
    ComponentInfo{com.cidaut.blueparking/com.cidaut.blueparking.SplashScreen_}: \
    java.lang.ClassNotFoundException: \
    Didn't find class "com.cidaut.blueparking.SplashScreen_" on path: \
    /data/app/com.cidaut.blueparking-1.apk

  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106)
  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
  at android.app.ActivityThread.access$600(ActivityThread.java:141)
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
  at android.os.Handler.dispatchMessage(Handler.java:99)
  at android.os.Looper.loop(Looper.java:137)
  at android.app.ActivityThread.main(ActivityThread.java:5041)
  at java.lang.reflect.Method.invokeNative(Native Method)
  at java.lang.reflect.Method.invoke(Method.java:511)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
  at dalvik.system.NativeStart.main(Native Method)

Caused by: java.lang.ClassNotFoundException: \
    Didn't find class "com.cidaut.blueparking.SplashScreen_" on path: \
    /data/app/com.cidaut.blueparking-1.apk
  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
  at android.app.Instrumentation.newActivity(Instrumentation.java:1054)
  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
  ... 11 more

实际上,我发现它试图在 APK 文件中查找类很奇怪,但无论如何。有什么解决办法吗?

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

这是我的订单和导出窗口

Eclipse / 订购和导出

AndroidAnnotations 类生成错误日志

AndroidAnnotations 类生成错误日志

编辑:现在它正在工作

我遵循的程序是这样的:

  1. 清理并重建一切
  2. 检查每个项目(主项目和库)的“订购和导出”选项卡上的所有内容
  3. 再次清理并重建一切

现在可以了。我不敢相信我因此失去了将近 12 个小时……

4

5 回答 5

16

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

于 2013-05-17T06:51:58.403 回答
10

Here is the solution :

  1. In Eclipse, right click on the Project name and choose Properties

  2. Select Order and Export tab, then make sure that the Android Private Libraries is checked

  3. Clean your project, from Project -> Clean

This should work

于 2013-05-17T07:51:55.540 回答
4

我有同样的问题,对我来说这是由于项目“java构建路径”中的“允许源文件夹的输出文件夹”选项。我取消选中它,然后再次检查它,问题就消失了。无论出于何种原因,使用的路径都与默认路径不同。也许是由于m2e android。

于 2014-05-10T06:05:11.340 回答
3

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

于 2013-12-24T13:36:30.407 回答
1

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

于 2013-12-11T15:11:58.087 回答