gpt4 book ai didi

android - 启用库时 MultiDex 应用程序 : java. lang.ClassNotFoundException

转载 作者:行者123 更新时间:2023-11-29 14:12:28 24 4
gpt4 key购买 nike

我正在使用 Android Studio 3.1.2 & Gradle 3.1.2 & minSdkVersion 19 & compileSdkVersion 26 并在运行 Nougat 的模拟器和运行 Oreo 的智能手机上进行了测试,并在启动应用程序后出现此异常

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.***.***.****, PID: 16366
java.lang.RuntimeException: Unable to instantiate application com.***.***.***.view.application.MyApplicationClass: java.lang.ClassNotFoundException: Didn't find class "com.***.***.***.view.application.MyApplicationClass" on path: DexPathList[[zip file "/data/app/com.***.***.***-2/base.apk"],nativeLibraryDirectories=[/data/app/com.***.***.***-2/lib/x86, /data/app/com.***.***.***-2/base.apk!/lib/x86, /system/lib, /vendor/lib]]
at android.app.LoadedApk.makeApplication(LoadedApk.java:802)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5377)
at android.app.ActivityThread.-wrap2(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1545)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.***.***.***.view.application.MyApplicationClass" on path: DexPathList[[zip file "/data/app/com.***.***.***-2/base.apk"],nativeLibraryDirectories=[/data/app/com.***.***.***-2/lib/x86, /data/app/com.***.***.***-2/base.apk!/lib/x86, /system/lib, /vendor/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at android.app.Instrumentation.newApplication(Instrumentation.java:992)
at android.app.LoadedApk.makeApplication(LoadedApk.java:796)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5377) 
at android.app.ActivityThread.-wrap2(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1545) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:154) 
at android.app.ActivityThread.main(ActivityThread.java:6119) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 
  • MyApplicationClass 扩展 MultiDexApplication
  • 我正在 list 文件中注册类 android:name=".view.application.MyApplicationClass"
  • 我在 gradle.build 中使用 multiDexEnabled true 启用 MultiDex
  • 我正在使用 compile 'com.android.support:multidex:1.0.2' 来实现向后兼容性
  • 我正在使用 SOASTA mPulse library用于性能监控

当我使用 apply plugin: 'com.soasta.mpulse.android' 启用这个库时,异常发生了,否则应用程序工作正常.

我尝试了很多解决方案,但没有一个有效:

已经尝试修复此问题 2 天了,非常感谢任何帮助

最佳答案

我发现解决方案是添加android:name="android.support.multidex.MultiDexApplication"到 AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp">
<application
android:name="android.support.multidex.MultiDexApplication" >
...
</application>
</manifest>

关于android - 启用库时 MultiDex 应用程序 : java. lang.ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50340243/

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