2017-01-05 51 views
7

Witam Mój wniosek został wszystko działa dobrze do wczoraj zaktualizowany mojego SDK wczoraj i zaczął dawać błąd pierwszy dała błądjava.lang.ClassNotFoundException: Nie znaleziono klasy na ścieżce: DexPathList po aktualizacji SDK

Nie znaleziono zasobów przy wartościach V24 ....

niektóre rzeczy tak szukałem i rozwiązać go zmieniając poniższe linie w build.gradle

compileSdkVersion 25 
buildToolsVersion '25.0.2' 

teraz ten błąd zniknął i jest działa całkowicie w porządku wyższej wersji Androida 7.1.1 ale kiedy uruchomić w niższej wersji z android to daje następujące błędu

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)  

I mają już próbował następujące rzeczy

1.Clean projekt

2.invalidate cache/restart

3.The usunięcie aplikacji na urządzeniu

już patrzył na te pytania Question 1, Question 2 nic nie działało. Jak mogę rozwiązać ten problem?

jeśli potrzebujesz niczego będę aktualizował go w pytaniu

mój plik 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 

    } 
+0

Jeśli używasz Cleanmaster lub podobnych aplikacji na swoim urządzeniu, spróbuj odinstalować go –

Odpowiedz

3

nie wiem jak to rozwiązuje problem, ale jest to pracy

Napisz klasę EnableMultiDex jak poniżej

import android.content.Context; 
import android.support.multidex.MultiDexApplication; 

/** 
* Created by Eminosoft on 1/5/2017. 
*/ 

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(); 

    } 
} 

aw AndroidManifest.xml napisać tę klasę wewnątrz tagu Application

<application 
    android:name="YourPakageName.EnableMultiDex" 
    android:hardwareAccelerated="true" 
    android:icon="@drawable/launch_logo" 
    android:label="@string/app_name" 
    android:largeHeap="true" 
    tools:node="replace"> 
+0

Wymaga to rozszerzenia ** klasy ** aplikacji. –

4

Tak może być wyższa niż odpowiedź jest poprawna nie spróbować jak to jest. Ale rozwiązałem w przeciwny sposób: "Usuwasz opcję natychmiastowego uruchamiania w ustawieniach studia android"

Przejdź do -> menu plików -> wybierz ustawienia -> wybierz kompilację, wykonanie, wdrożenie -> wybierz natychmiastowy przebieg -> odznacz "włącz natychmiastowy przebieg".

To zostało wykonane dla mnie. ale niektóre aplikacje, takie jak zintegrowane aplikacje map Google, wymagają natychmiastowego uruchomienia.

+0

Dziękuję bardzo. Działa to dla mnie po wyłączeniu natychmiastowego uruchomienia. Rozwiązanie tego problemu zajęło cały dzień. – BK19

0

Ten sam błąd przydarzył mi się, ponieważ zainstalowałem apk debugujący, który został utworzony w folderze output \ apk, i okazuje się być mniejszy z brakującymi klasami, ponieważ prawdopodobnie był wynikiem natychmiastowego uruchomienia. Zamiast więc obracać natychmiastowe uruchamianie, po prostu skompiluj plik APK (przez Build-> build apk w menu) i użyj tego.

0

W moim przypadku mojego projektu zaczęła działać ponownie po:

  • odinstalować mój projekt z emulatora (lub rzeczywistym urządzeniem)
  • Clean Projektu
  • Dodać Projekt
0

Wyłącz natychmiastowy Uruchomiono dla mnie działa Myślę, że ten problem występuje, ponieważ brakuje jakiejś klasy podczas kompilacji z uruchomieniem instalacji (zmniejsz rozmiar apk)