Tôi đang thử ứng dụng MultiDex Support mới trên ứng dụng của mình và cho đến nay tôi đã quản lý để biên dịch ứng dụng chính xác, nhưng khi chạy ứng dụng, tôi có được ngoại lệ sau đây:Không tìm thấy lớp "android.support.multidex.MultiDexApplication" trên đường dẫn: DexPathList
java.lang.RuntimeException: Unable to instantiate application android.support.multidex.MultiDexApplication: java.lang.ClassNotFoundException: Didn't find class "android.support.multidex.MultiDexApplication" on path: DexPathList[[zip file "/data/app/me.myapp.main-2.apk"],nativeLibraryDirectories=[/data/app-lib/me..main-2, /vendor/lib, /system/lib]]
at android.app.LoadedApk.makeApplication(LoadedApk.java:507)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4382)
at android.app.ActivityThread.access$1500(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1270)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5086)
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:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.multidex.MultiDexApplication" on path: DexPathList[[zip file "/data/app/me.myapp.main-2.apk"],nativeLibraryDirectories=[/data/app-lib/me.myapp.main-2, /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.newApplication(Instrumentation.java:998)
at android.app.LoadedApk.makeApplication(LoadedApk.java:502)
Đây là tập tin của tôi gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.0"
defaultConfig {
minSdkVersion 16
targetSdkVersion 21
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
}
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
compile 'com.android.support:multidex:1.0.0'
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:support-v4:21.0.0'
compile 'com.android.support:support-v13:21.0.0'
compile 'com.android.support:appcompat-v7:21.0.0'
}
Và AndroidManifest.xml của tôi:
<application
android:name="android.support.multidex.MultiDexApplication">
Tôi không hiểu vấn đề là gì. Tôi nghĩ tôi đang làm mọi thứ theo tài liệu. Có cái gì khác tôi đang mất tích? Tôi đảm bảo rằng tôi đã có thư viện hỗ trợ mới nhất và cài đặt lại từ trình quản lý SDK.
Bạn cũng đảm bảo bạn có phiên bản Công cụ xây dựng mới nhất? Bạn cũng có thể chỉ định liệu dấu vết ngăn xếp có phải là từ bản gỡ lỗi hoặc bản phát hành không? – PaulR
@PaulR Tôi có phiên bản Công cụ xây dựng 21.1 và theo dõi ngăn xếp thuộc về phiên bản gỡ lỗi. –
@dustedrob Lạ. Trước tiên, hãy xác minh rằng MultiDexApplication là một phần trong danh sách maindexlist của bạn. Bạn có thể tìm thấy tệp văn bản này trong /app/build/intermediates/multi-dex/{debug/release}/maindexlist.txt –