如何處理 android 方法總數超過 65536 . the number of method references in a .dex file exceed 64k


一:問題描述:

    應用中的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  

我會經常發一些我的些項目的感悟和編程技術。歡迎關注。

 微信掃描二維碼 關注我

  

 

 

 

 

        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM