如何处理 android 方法总数超过 65536 . the number of method references in a .dex file exceed 64k

简介: 一:问题描述:     应用中的Dex 文件方法数超过了最大值65536的上限,简单来说,应用爆棚了.   二、解决方案:      方案1:使用插件化框架  比如: https://github.
一:问题描述:

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

我会经常发一些我的些项目的感悟和编程技术。欢迎关注。

 微信扫描二维码 关注我

  

 

 

 

 

        

 

相关文章
|
1月前
|
Android开发
Android调用相机与相册的方法1
Android调用相机与相册的方法
33 0
|
4月前
|
JavaScript 前端开发
js数字(Number)方法汇总
js数字(Number)方法汇总
21 0
|
4月前
|
Android开发 Python
Python封装ADB获取Android设备wifi地址的方法
Python封装ADB获取Android设备wifi地址的方法
61 0
|
3月前
|
Android开发
【Bug】Android resource linking failed和error: failed linking references.
【Bug】Android resource linking failed和error: failed linking references.
|
4月前
|
Python
创建自定义函数 is_number() 方法来判
创建自定义函数 is_number() 方法来判
|
12天前
|
安全 Java Shell
Android11以上 Audio音频调试方法
Android11以上 Audio音频调试方法
49 0
|
1月前
|
Android开发
Android调用相机与相册的方法2
Android调用相机与相册的方法
18 0
|
1月前
|
XML Android开发 数据格式
Caused by: android.view.InflateException: Binary XML file line #11: Error inflating class
Caused by: android.view.InflateException: Binary XML file line #11: Error inflating class
23 0
|
1月前
|
Android开发
Android实现圆形图像的两种方法(Glide和Picasso)
Android实现圆形图像的两种方法(Glide和Picasso)
11 1
|
1月前
|
Android开发
Android Uri转File方法(适配android 10以上版本及android 10以下版本)
Android Uri转File方法(适配android 10以上版本及android 10以下版本)
21 0