一:问题描述:
应用中的Dex 文件方法数超过了最大值65536的上限,简单来说,应用爆棚了.
二、解决方案:
方案1:使用插件化框架 比如: https://github.com/singwhatiwanna/dynamic-load-apk
方案2:分割Dex
三:分割 Dex 文件实现方法
1、相关链接
https://developer.android.com/tools/building/multidex.html#about
2、在app的 build.gradle 中
(1)在dependencies 中添加
compile 'com.android.support:multidex:1.0.1'
(2)在 defaultConfig 中添加
multiDexEnabled true
比如
1 defaultConfig { 2 applicationId "com.pegasus.map" 3 minSdkVersion 15 4 targetSdkVersion 23 5 versionCode 1 6 versionName "1.0" 7 signingConfig signingConfigs.config 8 multiDexEnabled true 9 }
(3)在 AndroidManifest.xml 中的 application 标签中添加
1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="com.example.android.multidex.myapplication"> 4 <application 5 ... 6 android:name="android.support.multidex.MultiDexApplication"> 7 ... 8 </application> 9 </manifest>
提示:如果你的应用程序继承 Application , 那么你需要重写
1 @Override 2 protected void attachBaseContext(Context base) { 3 super.attachBaseContext(base); 4 MultiDex.install(this) ; 5 }
另外我的微信公众账号是: zhaoyanjun125
我会经常发一些我的些项目的感悟和编程技术。欢迎关注。
微信扫描二维码 关注我