2017-01-05 30 views
7

Chào mọi người Ứng dụng của tôi đã hoạt động tốt cho đến hôm qua, tôi đã cập nhật SDK của mình ngày hôm qua và nó bắt đầu đưa ra lỗi trước khi nó gặp lỗijava.lang.ClassNotFoundException: Không tìm thấy lớp trên đường dẫn: DexPathList, Sau khi cập nhật sdk

Không tìm thấy tại nguồn giá trị v24 ....

một số điều như thế này tôi đã tìm kiếm và giải quyết nó bằng cách thay đổi dòng sau trong build.gradle

compileSdkVersion 25 
buildToolsVersion '25.0.2' 

tại lỗi đã biến mất và Nó là chạy hoàn toàn tốt trong cao hơn phiên bản android 7.1.1 nhưng khi tôi chạy trong phiên bản thấp hơn của android nó được đưa ra sau lỗi

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)  

tôi có đã thử những điều sau đây

1.Clean project

.210

2.invalidate cache/khởi động lại

3.The xóa ứng dụng trên thiết bị

đã xem xét những câu hỏi Question 1, Question 2 gì làm việc. Làm thế nào tôi có thể khắc phục vấn đề này?

nếu bạn cần bất cứ điều gì tôi sẽ cập nhật nó trong câu hỏi

tập tin build.gradle tôi

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

Nếu bạn đang sử dụng Cleanmaster hoặc các ứng dụng tương tự trên thiết bị của mình, hãy thử gỡ cài đặt nó –

Trả lời

3

Tôi không biết làm thế nào điều này giải quyết Vấn đề nhưng đây là làm việc

viết một lớp EnableMultiDex như bên dưới

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

    } 
} 

và trong AndroidManifest.xml viết lớp này bên trong thẻ 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

Điều này yêu cầu lớp ** Ứng dụng ** mở rộng. –

4

Có thể là trên câu trả lời là đúng Tôi không cố gắng vì nó là. Nhưng tôi đã giải quyết theo cách ngược lại là "Bạn xóa tùy chọn chạy ngay trong cài đặt của studio android"

Đi tới -> trình đơn tệp -> chọn cài đặt -> chọn xây dựng, triển khai, triển khai -> chọn chạy ngay lập tức -> bỏ chọn "bật chạy ngay lập tức".

Nó đã làm việc cho tôi. nhưng một số ứng dụng như ứng dụng tích hợp bản đồ google yêu cầu chạy ngay lập tức.

+0

Cảm ơn bạn rất nhiều. Nó hoạt động cho tôi sau khi vô hiệu hóa Instant Run. Mất cả ngày để giải quyết vấn đề này. – BK19

0

Lỗi tương tự đã xảy ra với tôi vì tôi đã cài đặt gói gỡ lỗi được tạo bên trong thư mục đầu ra \ APK và nó trở nên nhỏ hơn và thiếu lớp vì nó có thể là kết quả của việc chạy tức thời. Vì vậy, thay vì tắt ngay lập tức chỉ cần xây dựng APK (bằng cách xây dựng-> xây dựng apk trong menu) và sử dụng này.

0

Trong trường hợp của tôi dự án của tôi bắt đầu hoạt động trở lại sau:

  • Gỡ dự án của tôi từ giả lập (hoặc thiết bị thực)
  • dự án sạch
  • Hãy Dự án
0

Disable ngay lập tức chạy làm việc cho tôi Tôi nghĩ rằng vấn đề này xảy ra vì một số lớp bị thiếu khi xây dựng với cài đặt chạy (giảm kích thước apk)

Các vấn đề liên quan