web-dev-qa-db-fra.com

VM a un support multidex, la bibliothèque de support MultiDex est désactivée

J'obtiens l'erreur suivante.

EXCEPTION FATALE: principale

  • La VM avec la version 2.1.0 prend en charge le multidex
  • installer
  • La VM prend en charge le multidex, la bibliothèque de support MultiDex est désactivée.
  • installer
  • La VM prend en charge le multidex, la bibliothèque de support MultiDex est désactivée.
  • Arrêt de VM

voici mon build.gradle, j'ai activé le multidex dans la partie Android,

apply plugin: 'com.Android.application'


Android {
compileSdkVersion 23
buildToolsVersion '23.0.0'

defaultConfig {
    applicationId "com.mycompany.newlogin"
    minSdkVersion 15
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
    }
}
productFlavors {

}
useLibrary 'org.Apache.http.legacy'
}



dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.Android.support:multidex:1.0.0'
compile 'com.google.guava:guava-jdk5:17.0'
compile 'com.Android.support:appcompat-v7:23.0.1'
compile 'com.Android.support:design:23.0.1'
//compile 'org.Apache.httpcomponents:httpcore:4.4.1'
compile 'org.Apache.httpcomponents:httpclient:4.5'
compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.Apache.http.client:4.1.2'

}

et mon fichier manifeste est

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="com.mycompany.newlogin" >
<uses-permission Android:name="Android.permission.INTERNET"/>


<application
    Android:allowBackup="true"
    Android:icon="@mipmap/ic_launcher"
    Android:label="@string/app_name"
    Android:theme="@style/AppTheme"
    Android:name="Android.support.multidex.MultiDexApplication">
    <activity
        Android:name=".MainActivity"
        Android:label="@string/app_name" >
        <intent-filter>
            <action Android:name="Android.intent.action.MAIN" />

            <category Android:name="Android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        Android:name=".Login"
        Android:label="@string/title_activity_login" >
    </activity>
    <activity
        Android:name=".Register"
        Android:label="@string/title_activity_register" >
    </activity>
</application>
</manifest>
15
Anil

créer une classe permet de la nommer App et d'étendre à partir de MultiDexApplication comme ceci:

import Android.support.multidex.MultiDexApplication;

public class App extends MultiDexApplication {
    //you can leave this empty or override methods if you like so the thing is that you need to extend from MultiDexApplication
}

dans votre manifeste, ajoutez App comme nom d'application comme ceci

<application
        Android:name=".App" // <<< this is the important line!
        Android:allowBackup="true"
        Android:icon="@mipmap/ic_launcher"
        Android:label="@string/app_name">

Après avoir tout ajouté, faites une construction propre et cela devrait fonctionner maintenant :).

3
Baniares

Remplacez la méthode attachBaseContext dans votre classe d'application

@Override
protected void attachBaseContext(Context base) {
  super.attachBaseContext(base);
  MultiDex.install(this);
}
1
user3875399