gpt4 book ai didi

android - ClassNotFoundException:在路径上找不到类:DexPathList

转载 作者:IT老高 更新时间:2023-10-28 21:50:54 29 4
gpt4 key购买 nike

我在 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

问题是,我之前的应用程序版本运行没有问题,我没有更改与此 Activity 相关的任何内容。我刚刚添加了一个与此 Activity 无关的新信息对话框。这个应用程序是免费的精简版,我在专业版上做了完全相同的更改,没有任何东西被抛出。这按预期工作。专业版和精简版之间的唯一区别是,我在精简版中集成了 Admob(以新方式),在专业版中集成了 Google Play 许可证。但是我从一开始就已经整合了这一点,并且没有对此进行任何更改。我也没有对 list 进行任何更改,我在这里阅读了很多帖子,但没有任何帮助。

它似乎只发生在 5.0 之后的 Android 版本上。有没有人知道这个问题可能导致什么或有任何人有同样的经历? proguard 是否有可能只是通过混淆(同样在这里,没有变化)破坏了任何东西?

我没有发布代码,因为它对这个问题并不重要,就像我说我没有对这个异常进行任何更改。

此问题被标记为重复,但事实并非如此。带有链接的评论不能解决我的问题,所有库都以正确的方式检查和集成。另外,我不使用 NDK。

最佳答案

更新

看了半天,原来肯定和proguard有关系。我不能真正说出错误的确切原因,但我尝试了一点,这就是我注意到的(在我使用 Eclipse IDE 的情况下):

  • 我必须关闭我要签名的项目中的每个选项卡
  • 我必须清理项目,清理后,除了导出 apk 什么都不做
  • 在 list 中进行小幅更改,保存并撤消更改(并保存)
  • 如果 list 中有任何以“YourClass”或“.YourClass”命名的类,请将其更改为“com.yourpackage.yourClass”

这就是我所做的四点,然后它奏效了。这看起来很可疑,但我认为混淆存在问题。因为不做这些点,我可以简单地编译我的apk并从eclipse安装它。对我来说,这种行为没有明显的原因。如果我只从 Eclipse 安装它,包名称也可以在不改变的情况下工作。我希望这些观点可以帮助某人。

关于android - ClassNotFoundException:在路径上找不到类:DexPathList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29816745/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com