Ich bin die neue MultiDex Support auf meine app versucht, und bisher habe ich es geschafft, meine app richtig zu kompilieren, aber wenn es läuft, ich erhalten die folgende Ausnahme:Haben Sie nicht gefunden Klasse „android.support.multidex.MultiDexApplication“ auf dem Weg: 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)
das ist mein gradle Datei:
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'
}
Und mein AndroidManifest.xml:
<application
android:name="android.support.multidex.MultiDexApplication">
Ich verstehe nicht, was das Problem ist. Ich denke, ich mache alles nach der Dokumentation. Gibt es noch etwas, das ich vermisse? Ich stellte sicher, dass ich die neueste Support-Bibliothek und Repo vom SDK-Manager installiert hatte.
Haben Sie auch sichergestellt, dass Sie die neueste Build Tools-Version haben? Können Sie auch angeben, ob der Stack-Trace vom Debug- oder Release-Build stammt? – PaulR
@PaulR Ich habe die Version 21.1 Build Tools und der Stack-Trace gehört zur Debug-Version. –
@dustedrob Seltsam. Überprüfen Sie zuerst, dass MultiDexApplication Teil Ihrer Hauptliste ist. Diese Textdatei befindet sich unter /app/build/intermediates/multi-dex/{debug/release}/maindexlist.txt –