VM has multidex support, MultiDex support library is disabled

I'm getting the following error.

FATAL EXCEPTION: main

  • VM with version 2.1.0 has multidex support
  • install
  • VM has multidex support, MultiDex support library is disabled.
  • install
  • VM has multidex support, MultiDex support library is disabled.
  • Shutting down VM
  • here is my build.gradle,i have enables the multidex in the android part,

    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'
    
    }
    

    and my manifest file is

    <?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>
    

    create a class lets name it App and extend from MultiDexApplication like this:

    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
    }
    

    in your manifest add App as your application name just like this

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

    After adding everything make a clean build and it should work now :).


    覆盖应用程序类中的attachBaseContext方法

    @Override
    protected void attachBaseContext(Context base) {
      super.attachBaseContext(base);
      MultiDex.install(this);
    }
    
    链接地址: http://www.djcxy.com/p/29924.html

    上一篇: 在Ruby中依赖注入的好习惯是什么?

    下一篇: VM支持multidex,MultiDex支持库被禁用