it-swarm.com.ru

java.lang.ClassNotFoundException: не нашел класс по пути: DexPathList, после обновления SDK

Привет, ребята. До вчерашнего дня все мое приложение работало нормально, вчера я обновил свой SDK, и сначала он выдал ошибку. 

Не найден ресурс при значениях v24 ....

что-то вроде этого я искал и решил, изменив следующие строки в build.gradle

compileSdkVersion 25
buildToolsVersion '25.0.2'

теперь эта ошибка исчезла и работает совершенно нормально в более поздней версии Android 7.1.1 , но когда я запускаю в более низкой версии Android, она выдает следующее error

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. Удаление приложения на устройстве

уже посмотрел на эти вопросы Вопрос 1 , Вопрос 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

    }
6
Manohar Reddy

Напишите класс EnableMultiDex как ниже

public class EnableMultiDex extends MultiDexApplication {
    private static EnableMultiDex enableMultiDex;
    public static Context context;

    public EnableMultiDex(){
        enableMultiDex=this;
    }

    public static EnableMultiDex getEnableMultiDexApp() {
        return enableMultiDex;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        context = getApplicationContext();

    }
}

и в AndroidManifest.xml напишите этот класс внутри тега приложения

 <application
    Android:name="YourPakageName.EnableMultiDex"
    Android:hardwareAccelerated="true"
    Android:icon="@drawable/launch_logo"
    Android:label="@string/app_name"
    Android:largeHeap="true"
    tools:node="replace">
4
Manohar Reddy

Да может быть выше ответ правильный я не пробовал как есть. Но я решил противоположным образом: «Вы удаляете опцию мгновенного запуска в настройках студии Android» 

Перейдите в -> меню файла -> выберите настройки -> выберите сборку, выполнение, развертывание -> выберите мгновенный запуск -> снимите флажок «включить мгновенный запуск».

Это сработало для меня. но некоторые приложения, такие как интегрированные приложения Google Maps, требуют мгновенного запуска.

4
Kona Suresh

В моем случае мой проект снова начал работать после:

  • Удалить мой проект из эмулятора (или реального устройства)
  • Чистый Проект
  • Сделать проект
2
Jorge Casariego

Та же самая ошибка произошла со мной, потому что я установил отладочный apk, который был создан в папке output\apk, и он оказался меньше и с отсутствующими классами, потому что это, вероятно, было результатом мгновенного запуска ....... Постройте APK (Build-> build apk в меню) и используйте этот.

0
Udi Reshef

Отключить мгновенный запуск работал для меня Я думаю, что эта проблема возникает из-за отсутствия некоторого класса при сборке с установочным прогоном (уменьшите размер apk)

0
Tinh Doan