android方法数超过64k,多dex问题,Gradle配置Multidex

返回目录

Gradle配置Multidex

  • 模块的build.gradle 的defaultConfig中 添加 multiDexEnabled true
   defaultConfig {
        applicationId "com.jhkxkd.xiaoxiao"
        minSdkVersion 23
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
  • 在dependencies中添加multidex的依赖:
dependencies {
    implementation 'androidx.multidex:multidex:2.0.1'
}

3.在代码中使用,有大概三种方式

  • 直接使用MultiDexApplication,清单文件中直接使用 android:name=“androidx.multidex.MultiDexApplication”
<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        android:name="androidx.multidex.MultiDexApplication">
        <activity android:name=".mvp.activity.MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
  • 用一个类继承MultiDexApplication
public class App extends MultiDexApplication {
    @Override
    public void onCreate() {
        super.onCreate();
    }
}
  • 如果已经使用了别的第三方库的Application,不能使用以上两种方法,重写方法attachBaseContext
public class App extends MultiDexApplication {
    @Override
    public void onCreate() {
        super.onCreate();
    }
    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }
}
  1. 使用MultiDex存在的一些问题,参考这里
相关推荐
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页