Android分包MultiDex原理详解
2016-07-01 11:50 百度乜搜不到 阅读(533) 评论(0) 编辑 收藏 举报这里只做Android Studio分包配置简单的介绍。
第一步:
在Gradle build文件中做如下配置:
android {
compileSdkVersion 21
buildToolsVersion "21.1.0"
defaultConfig {
...
minSdkVersion 14
targetSdkVersion 21
...
// Enabling multidex support.
multiDexEnabled true
}
...
}
dependencies {
compile 'com.android.support:multidex:1.0.0'
}
添加两句代码:
(1)multiDexEnable true
(2)compile 'com.android.support:multidex:1.0.0'
第二步:
在AndroidManifest.xml文件中做如下配置:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.multidex.myapplication">
<application
...
android:name="android.support.multidex.MultiDexApplication">
...
</application>
</manifest>
如果你要定义自己的Application
,或者已经有了自定义Application
,那么不需要在application
节点中用android.support.multidex.MultiDexApplication
,而是用自己的Application
类的全名即可,而且自定义的Application
也不需要继承MultiDexApplicatoin
。
第三步:
如果有自定义的Application,那么在自定义的Application类中,重写attachBaseContext()
,并且在其中调用super.attachBaseContext()
,然后调用MultiDex.install(this)
,然后在该方法上加上@Override
注解,既然是重写方法,最好加上这个注解,不过Android Studio会自动加上。
有两点可以注意:
attachBaseContext()
是在ContextWrapper
类中的。而MultiDexApplication
继承Application
,就是如第二步一样重写了attachBaseContext()
方法。- 不需要另外在libs中添加jar