第一步,修改主module的build.gradle文件
在gradle中依赖multidex
,并启用multiDexEnable
:
android {
compileSdkVersion 21
buildToolsVersion
defaultConfig {
...
minSdkVersion 14
targetSdkVersion 21
...
// Enabling multidex support.
multiDexEnabled true
}
...
}
dependencies {
compile 'com.android.support:multidex:1.0.1'
}
第二步,继承android.support.multidex.MultiDexApplication
类
两种情况
第一种情况,如果我们的APP没有重写过Application类,我们直接继承MultiDexApplication
,然后在manifest.xml中注册Application即可。
第二种情况,如果我们已经重写过Application类,重写attachBaseContext(Context)
方法,并调用MultiDex.install(this);
即可:
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
因为我翻过MultiDexApplication
的源码了,里面就是重写了这个方法而已哈哈:
public class MultiDexApplication extends Application {
public MultiDexApplication() {
}
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
}
注册Application
<?xml version= encoding=?>
<manifest xmlns:android=
package=>
<application
...
android:name="刚才重写的Application全类名">
...
</application>
</manifest>