一:问题描述:
![]()
应用中的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
我会经常发一些我的些项目的感悟和编程技术。欢迎关注。
微信扫描二维码 关注我
![]()