一:問題描述:
應用中的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
我會經常發一些我的些項目的感悟和編程技術。歡迎關注。
微信掃描二維碼 關注我