Android Multidex-support-Bibliothek deaktiviert ist
Ich bin erleben einige Probleme mit multidex Unterstützung in meiner app, in der Tat, die app zu installieren, ganz normal, aber durch den Prozess, einige Aktivitäten, die stürzte und die app relauncht die Haupttätigkeit. Im logcat fand ich dies :
I/MultiDex: install
I/MultiDex: VM has multidex support, MultiDex support library is disabled.
Aber ich folgte den Empfehlungen, damit Multidex-Unterstützung :
Gradle :
compileSdkVersion 25
buildToolsVersion '25.0.2'
defaultConfig {
applicationId "com..company.package"
minSdkVersion 15
targetSdkVersion 25
multiDexEnabled true
versionCode 21
versionName "2.1.3"
}
dexOptions {
javaMaxHeapSize "4g"
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
//compile project(':rangebar')
compile('com.github.afollestad.material-dialogs:core:0.8.5.3@aar') { transitive = true }
compile('com.weiwangcn.betterspinner:library-material:1.1.0') {
exclude group: 'com.android.support', module: 'appcompat-v7'
}
compile files('libs/itextpdf-5.5.9.jar')
compile 'com.android.support:multidex:1.0.1'
...
Application-Klasse erweitert Multidex :
public class MyApplication extends MultiDexApplication {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
}
Ich weiß nicht, was ich genau fehlt, um loszuwerden, diese Angelegenheit
Vielen Dank im Voraus.
- Sie verwenden entweder multidex installieren Sie Sie auf attachBaseContext Methode oder erweitern MultidexApplication mit beiden sind sinnlos, da beide das gleiche tun
- ja danke, es hat den trick
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie
Manifest
Dann Reinigen-Aufbauen-Laufen .
extends MultiDexApplication
Aber auch hinzufügen, um die Antwort auf oben^
In der Android-Dokumentation, die es sagt, wenn Sie minSdkVersion 21 oder höher ist, brauchen Sie nicht das multidex support library. Also, ich sehen, warum Sie wussten, dass es https://developer.android.com/studio/build/multidex.html#mdex-on-l
Den Optionen, die Sie haben, sind die folgenden:
https://developer.android.com/studio/build/multidex.html#mdex-gradle
Vergessen Sie nicht, Fügen Sie in Ihren bauen.gradle(app)
Option 1) Wenn Sie nicht überschreiben die Anwendung Klasse, Bearbeiten Sie Ihre manifest-Datei zu setzen android:name im tag wie folgt:
Dies wird Ihr Eintrag: android.Unterstützung.multidex.MultiDexApplication
Option 2) Wenn Sie dies tun, überschreiben Sie die Anwendung Klasse, ändern Sie es zu erweitern MultiDexApplication (wenn möglich) wie folgt:
Option 3) Oder wenn Sie tun, überschreiben Sie die Anwendung Klasse, aber es ist nicht möglich, ändern Sie die Basisklasse, dann können Sie stattdessen überschreiben Sie die attachBaseContext () - Methode, und rufen Sie MultiDex.installieren Sie(diese) zu ermöglichen multidex: fügen Sie den code unten ohne Verlängerung MultiDexApplication
Vorsicht: nicht ausführen MultiDex.installieren() oder anderen code, der über reflection oder JNI, bevor MultiDex.installieren() abgeschlossen ist. Multidex Ablaufverfolgung wird nicht Folgen Sie diesen aufrufen, wodurch ClassNotFoundException oder überprüfen, Fehler aufgrund einer schlechten Klasse Trennwand zwischen DEX-Dateien.