天天看點

Android DEX 方法超過64K限制

1 如果你的 minSdkVersion 設定為 21 或更高值,隻需在子產品級 build.gradle 檔案中将 multiDexEnabled 設定為 true 即可:

android {
    defaultConfig {
        ...
        minSdkVersion  
        targetSdkVersion 
        multiDexEnabled true
    }
    ...
}
           

2 如果你的 minSdkVersion 設定為 20 或更低值, 則必須繼續以下兩步, 使用 Dalvik 可執行檔案分包支援庫

dependencies {
  compile 'com.android.support:multidex:1.0.1'
}
           

3 根據是否要替換 Application 類,執行以下操作之一:

如果沒有替換 Application 類,請編輯清單檔案,按如下方式設定 标記中的 android:name:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapp">
    <application
            android:name="android.support.multidex.MultiDexApplication" >
        ...
    </application>
</manifest>
           

或者, 如果替換了 Application 類,請按如下方式對其進行更改以擴充 MultiDexApplication(如果可能):

public class MyApplication extends MultiDexApplication { ... }
           

或者,如果替換了 Application 類,但無法更改基本類,則可以改為替換 attachBaseContext() 方法并調用 MultiDex.install(this) 來啟用 Dalvik 可執行檔案分包:

public class MyApplication extends SomeOtherApplication {
  @Override
  protected void attachBaseContext(Context base) {
     super.attachBaseContext(context);
     Multidex.install(this);
  }
}