android - java.lang.ClassNotFoundException : Didn't find class on path: DexPathList , 更新sdk后

标签 android android-studio sdk classnotfoundexception

大家好我的应用程序直到昨天都运行良好,我昨天更新了我的 SDK,它首先开始出错它给出了一个错误

No resource found at values v24 ....

像这样的事情我通过更改 build.gradle 中的以下行搜索并解决了它

compileSdkVersion 25
buildToolsVersion '25.0.2'

现在错误消失了,它更高的 android 版本 7.1.1 中完全正常运行 但是当我运行 低版本 的 android 时,它给出了以下错误

E/AndroidRuntime: FATAL EXCEPTION: main
                  Process: com.wowio.ebookreader, PID: 15469
                  java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.wowio.ebookreader/com.eminosoft.ebookread.activity.SplashScreenActivity}: java.lang.ClassNotFoundException: Didn't find class "com.eminosoft.ebookread.activity.SplashScreenActivity" on path: DexPathList[[zip file "/data/app/com.wowio.ebookreader-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.wowio.ebookreader-1, /vendor/lib, /system/lib]]
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2378)
                      at android.app.ActivityThread.access$800(ActivityThread.java:155)
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244)
                      at android.os.Handler.dispatchMessage(Handler.java:102)
                      at android.os.Looper.loop(Looper.java:136)
                      at android.app.ActivityThread.main(ActivityThread.java:5433)
                      at java.lang.reflect.Method.invokeNative(Native Method)
                      at java.lang.reflect.Method.invoke(Method.java:515)
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
                      at dalvik.system.NativeStart.main(Native Method)
                   Caused by: java.lang.ClassNotFoundException: Didn't find class "com.eminosoft.ebookread.activity.SplashScreenActivity" on path: DexPathList[[zip file "/data/app/com.wowio.ebookreader-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.wowio.ebookreader-1, /vendor/lib, /system/lib]]
                      at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
                      at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
                      at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
                      at android.app.Instrumentation.newActivity(Instrumentation.java:1068)
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2186)
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2378) 
                      at android.app.ActivityThread.access$800(ActivityThread.java:155) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244) 
                      at android.os.Handler.dispatchMessage(Handler.java:102) 
                      at android.os.Looper.loop(Looper.java:136) 
                      at android.app.ActivityThread.main(ActivityThread.java:5433) 
                      at java.lang.reflect.Method.invokeNative(Native Method) 
                      at java.lang.reflect.Method.invoke(Method.java:515) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084) 
                      at dalvik.system.NativeStart.main(Native Method) 

已经尝试过以下事情

1.清理项目

2.使缓存失效/重启

3.删除设备上的应用

已经看过这些问题Question 1 , Question 2什么都没用。我该如何解决这个问题?

如果你有什么需要我会及时更新

我的build.gradle文件

 apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion '25.0.2'

    defaultConfig {
        applicationId "com.wowio.ebookreader"
        minSdkVersion 14
        targetSdkVersion 23
        multiDexEnabled true

    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
    dexOptions {
        javaMaxHeapSize "4g"
    }
}

dependencies {

    compile 'com.android.support:appcompat-v7:+'
    compile 'com.google.android.gms:play-services:+'
    compile 'com.android.support:multidex:1.0.1'
     // the are many more dependencies i removed to decrease size

    }

最佳答案

是的,上面的答案可能是正确的我没有按原样尝试。但我以相反的方式解决了“你删除了android studio设置中的即时运行选项”

转到 --> 文件菜单 --> 选择设置 --> 选择构建、执行、部署 --> 选择即时运行 --> 取消选中“启用即时运行”。

它对我有用。但某些应用程序(如谷歌地图集成应用程序)需要即时运行。

关于android - java.lang.ClassNotFoundException : Didn't find class on path: DexPathList , 更新sdk后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41478438/

相关文章:

android - 在 xml 中设置复选框的可绘制对象

java - 我想在一项 Activity 中显示两个自定义对话

sdk - RTOS SDK app_main在哪里定义为启动函数?

android - 在为 android 创建 HTML5 应用程序时,我们是否必须使用不同的图像分辨率?

ios - 方向更改后 UIView 消失

Android java.lang.SecurityException on Settings.Secure.putString()

android - 文字装饰下划线属性在UC浏览器中不起作用

android - 手电筒相机2 API

android - 添加Maven仓库报错——android.support.v7.widget.AppcompatTextView无法实例化

android - 在模块guava-26.0-android.jar和guava-jdk5-17.0.jar中找到重复的类