Apollo CM11 类未找到异常

Posted

技术标签:

【中文标题】Apollo CM11 类未找到异常【英文标题】:Apollo CM11 class not found exception 【发布时间】:2014-08-26 05:37:20 【问题描述】:

我刚刚从官方git仓库下载了Apollo音乐播放器源码, 我已经将该项目导入到我的 Eclipse ADT 中。如果我尝试在模拟器中运行项目,我会收到以下错误:

07-04 19:39:08.948: E/androidRuntime(1072): FATAL EXCEPTION: main
07-04 19:39:08.948: E/AndroidRuntime(1072): Process: com.andrew.apollo, PID: 1072
07-04 19:39:08.948: E/AndroidRuntime(1072): java.lang.RuntimeException: Unable to instantiate activity ComponentInfocom.andrew.apollo/com.andrew.apollo.ui.activities.HomeActivity: java.lang.ClassNotFoundException: Didn't find class "com.andrew.apollo.ui.activities.HomeActivity" on path: DexPathList[[zip file "/data/app/com.andrew.apollo-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.andrew.apollo-1, /system/lib]]
07-04 19:39:08.948: E/AndroidRuntime(1072):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2121)
07-04 19:39:08.948: E/AndroidRuntime(1072):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
07-04 19:39:08.948: E/AndroidRuntime(1072):     at android.app.ActivityThread.access$800(ActivityThread.java:135)
07-04 19:39:08.948: E/AndroidRuntime(1072):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
07-04 19:39:08.948: E/AndroidRuntime(1072):     at android.os.Handler.dispatchMessage(Handler.java:102)
07-04 19:39:08.948: E/AndroidRuntime(1072):     at android.os.Looper.loop(Looper.java:136)
07-04 19:39:08.948: E/AndroidRuntime(1072):     at android.app.ActivityThread.main(ActivityThread.java:5017)
07-04 19:39:08.948: E/AndroidRuntime(1072):     at java.lang.reflect.Method.invokeNative(Native Method)
07-04 19:39:08.948: E/AndroidRuntime(1072):     at java.lang.reflect.Method.invoke(Method.java:515)
07-04 19:39:08.948: E/AndroidRuntime(1072):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
07-04 19:39:08.948: E/AndroidRuntime(1072):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
07-04 19:39:08.948: E/AndroidRuntime(1072):     at dalvik.system.NativeStart.main(Native Method)
07-04 19:39:08.948: E/AndroidRuntime(1072): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.andrew.apollo.ui.activities.HomeActivity" on path: DexPathList[[zip file "/data/app/com.andrew.apollo-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.andrew.apollo-1, /system/lib]]
07-04 19:39:08.948: E/AndroidRuntime(1072):     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
07-04 19:39:08.948: E/AndroidRuntime(1072):     at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
07-04 19:39:08.948: E/AndroidRuntime(1072):     at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
07-04 19:39:08.948: E/AndroidRuntime(1072):     at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
07-04 19:39:08.948: E/AndroidRuntime(1072):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2112)
07-04 19:39:08.948: E/AndroidRuntime(1072):     ... 11 more

我已尝试清理重建项目,并使用具有多个 API 的不同模拟器运行,但错误仍然存​​在。 AndroidManifest 似乎没问题,它设置了“package-name”,主要活动名称以点(“.”)开头。 欢迎任何提示。

【问题讨论】:

您是否下载了项目并将其导入 Android Studio/Eclipse?或者您创建了一个项目并复制/粘贴了源代码/资源? 已下载并导入。 【参考方案1】:

这个问题似乎与这个(仍然被拒绝的)阿波罗补丁有关:

http://review.cyanogenmod.org/#/c/65745/

但建议的解决方案对我不起作用。

【讨论】:

【参考方案2】:

问题似乎是android支持库不在“libs”目录中,它在另一个目录中。我刚刚在根目录中创建了一个“libs”目录 在 Apollo 项目中,将 jar 文件复制到那里,然后清理并重建,现在它可以正常工作了。让我知道这是否适合您。

【讨论】:

以上是关于Apollo CM11 类未找到异常的主要内容,如果未能解决你的问题,请参考以下文章

如何防止 Apollo 客户端查询在 IE11 中缓存?

Hazelcast 谓词/ SQL 查询类未找到

通过 Apollo Server (NestJS) 处理异常

Apollo GraphQL iOS - 尝试在查询中使用“ID”时出现“未找到生成的操作”错误

Apollo Codegen 没有找到生成代码的操作或片段

包装“Foo”的操作“FooQuery”需要一个变量,但在 react-apollo 中没有找到