启动我的玻璃应用程序时出现以下错误:
FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: com.example.glass.speeddisplay.SpeedDisplayMenuActivity
at com.example.glass.speeddisplay.service.SpeedService.onStartCommand(SpeedService.java:135)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2359)
at android.app.ActivityThread.access$1900(ActivityThread.java:123)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
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:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
SpeedService.java的第135行:
Intent menuIntent = new Intent(this, SpeedDisplayMenuActivity.class);
此类是我的源文件夹的一部分,该文件夹被检查以在项目构建设置中导出。
如果我在我的bin文件夹中解压缩.apk,并且dexdump classes.dex文件,我确实看到了这个类:
Wesleys-MacBook-Pro:$ ~/apps/adt/sdk/build-tools/18.1.1/dexdump classes.dex | grep "Class desc" | grep SpeedDisplayMenu
Class descriptor : 'Lcom/example/glass/speeddisplay/SpeedDisplayMenuActivity$1;'
Class descriptor : 'Lcom/example/glass/speeddisplay/SpeedDisplayMenuActivity;'
为什么我会在应用启动时收到此异常?
答案 0 :(得分:1)
问题出在SpeedDisplayMenuActivity
中“如果Java虚拟机或ClassLoader实例尝试,则抛出该异常 加载类的定义(作为普通方法调用的一部分或 作为使用新表达式创建新实例的一部分)和否 可以找到类的定义。搜索过的课程 编译当前正在执行的类时存在定义, 但无法再找到定义。“