dex分包

添加依赖

  添加multidex依赖

1
2
3
4
5
dependencies {
...
implementation 'com.android.support:multidex:1.0.3'
...
}

配置multidex

启用多dex配置

1
2
3
4
5
defaultConfig {
...
    multiDexEnabled true
...
}

指定类

  如果需要将某些类放置在主dex,可以在gradle中配置multiDexKeepFile参数

  创建一个文本文件,例如multidex-keep.txt,并将需要保留在主DEX文件中的类名添加到该文件中,每行一个类名。

1
2
com.example.app.MainActivity
com.example.app.SomeImportantClass

  在app模块的build.gradle文件中,使用multiDexKeepFile参数来指定上面创建的文件路径

1
2
3
4
5
6
defaultConfig {
...
    multiDexEnabled true
multiDexKeepFile file('multidex-keep.txt')
...
}

重写Application

  在应用的Application 类重写方法

1
2
3
4
5
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}