自从在Playstore更新我的应用程序以来,我遇到了问题。自从此更新以来,引发了该异常,但是我没有更改与该异常相关的任何内容。
堆栈跟踪:
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{de.opiatefuchs.onthejobtimerlight/de.opiatefuchs.onthejobtimerlight.OnTheJobTimerActivity}: java.lang.ClassNotFoundException: Didn't find class "de.opiatefuchs.onthejobtimerlight.OnTheJobTimerActivity" on path: DexPathList[[zip file "/data/app/de.opiatefuchs.onthejobtimerlight-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2236)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Caused by: java.lang.ClassNotFoundException: Didn't find class "de.opiatefuchs.onthejobtimerlight.OnTheJobTimerActivity" on path: DexPathList[[zip file "/data/app/de.opiatefuchs.onthejobtimerlight-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at android.app.Instrumentation.newActivity(Instrumentation.java:1066)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2226)
... 10 more
Suppressed: java.lang.ClassNotFoundException: de.opiatefuchs.onthejobtimerlight.OnTheJobTimerActivity
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 13 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
问题是,我的App版本之前没有问题,并且我没有更改与此 Activity 相关的任何内容。我刚刚添加了一个与该 Activity 无关的新信息对话框。该应用程序是一个免费的精简版,我在专业版上进行了完全相同的更改,并且没有抛出任何异常。这按预期工作。
专业版和精简版之间的唯一区别是,我在精简版中集成了Admob(以新方式),在专业版中集成了Google Play许可。但是我从一开始就整合了这一点,并没有对此进行任何更改。
我也没有对 list 进行任何更改,我在这里阅读了很多帖子,但没有任何帮助。
从5.0开始,它似乎只发生在Android版本上。有谁知道这个问题可能导致什么或有同样的经历吗? Proguard是否有可能通过混淆破坏了任何东西(也在这里,没有任何变化)?
我没有发布任何代码,因为它对这个问题并不重要,就像我说的那样,我没有对此异常进行任何更改。
该问题被标记为重复,但并非如此。带有链接的评论无法解决我的问题,所有库都已通过正确的方式检查和集成。另外,我不使用NDK。
最佳答案
更新
很长一段时间后,事实证明它与proguard有任何关系。我不能真正说出错误的确切原因,但是我做了一点尝试,这就是我注意到的(在我的Eclipse IDE中):
那就是我所做的四点,然后才奏效。这看起来很可疑,但是我认为混淆存在问题。因为不做这些事情,我可以简单地编译我的apk并从eclipse安装它。对我来说,没有明显的原因会发生这种情况。
如果我仅从eclipse安装软件包名称,它的名称也可以正常工作而无需更改。
希望以上几点对您有所帮助。
关于android - ClassNotFoundException:在路径:DexPathList上找不到类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29816745/