单个dex文件不能超过65535个方法解决方法
来源:互联网 发布:nginx服务器绑定域名 编辑:程序博客网 时间:2024/05/23 20:52
1.原因:
谷歌规定单个dex文件中的方法不能超过65536限制
2.处理:
1.分包处理
2.使用谷歌推荐的multidex
@在app下的build.grade下添加依赖
compile 'com.android.support:multidex:1.0.1'
@确保编译版本大于21.1
@在app下build.grade里的defaultConfig添加
multiDexEnabled true
@在BaseApplication下重写
@Override
protectedvoid attachBaseContext(Context base) {
MultiDex.install(this);
super.attachBaseContext(base);
}
解决multidex打包失败
Error:Execution failed for task ':transformClassesWithMultidexlistForDebug'.
> java.io.IOException: Can't read [D:\workspace\project2\haocaimao2\build\intermediates\transforms\jarMerging\debug\jars\1\1f\combined.jar] (Can't process class [com/tencent/wxop/stat/al.class] (Unknown verification type [95] in stack map frame))
原文:有所不同:http://bbs.csdn.net/topics/392084419?list=lz
1.查看当前android studio当前使用的混淆版本(android studio安装目录下的)
Android\Android Studio\gradle\m2repository\net\sf\proguard\proguard-base
一般是最后的那一个版本(如果不知道可以重命名文件下的jar包名称,重新打开as看报错的目录)
到官网下载当前源码:
https://sourceforge.net/projects/proguard/files/proguard/
2.下载好后,解压在src\proguard\classfile文件当中找到源码的ClassConstant.java类
打开查找ATTR_StackMapTable并将对应的值改为dummy
3.将当前sdk(F:\Android\sdk\tools\proguard)下面的ant文件、proguard-android.txt、proguard-android-
optimize.txt、proguard-project.txt拷贝到这个源码包的根目录
4.下载ant进行打包(1.9.9)
http://ant.apache.org
配置环境变量
ANT_HOME C:/ apache-ant-1.9.9
path %apache-ant-1.9.9%\bin;%JAVA_HOME%\bin;
classpath %apache-ant-1.9.9%\lib;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
验证是否成功:
在cmd下输入ant
如果出现:
Buildfile:build.xml does not exist!
Buildfailed
为成功
运行ant进行打包:
在下载并更改后的proguard下的build下shift+右键点击在此处运行命令窗口选项输入ant后摁下enter键等待编译成功
然后查看lib文件下有一个proguard.jar,将这个proguard.jar覆盖掉步骤一里面的(我这里是5.3.2)5.3.2下的jar文件
大功告成!!
- 单个dex文件不能超过65535个方法解决方法
- 解决Android单个dex文件不能超过65535个方法问题
- 解决Android单个dex文件不能超过65536个方法问题
- 解决Android单个dex文件不能超过65536个方法问题
- 解决Android单个dex文件不能超过65536个方法问题
- 解决Android单个dex文件不能超过65536个方法问题
- 解决Android单个dex文件不能超过65536个方法问题,DexIndexOverflowException
- 解决单个DEX文件方法数超过65536的解决方案
- 解决Android中单个dex文件中方法数越界的问题
- 解决android中单个dex方法数超过65535的方法
- Win 2003上传文件不能超过200k解决方法
- Windows 2003上传文件不能超过200k解决方法
- Dex 文件方法数超过了最大值65536的上限 解决方法
- win2003上传文件不能超过200k问题解决方法
- 2003上传文件不能超过200k问题解决方法问题
- Dex 文件超出规定大小的解决方法
- git更新单个文件方法
- Android进阶之使用multidex(产生多个dex)解决Dex超出方法数65535的限制
- Java后台开发精选知识图谱
- iOS 刮奖
- c++/cli学习
- java实现快速排序的分割思想:在快速排序算法中,我们随机在数组中选择一个数字,然后把比选中数字小的数字都排在它前面,比选中数字大的数字都排在它的后面。
- 114 大端小端以及判别方式
- 单个dex文件不能超过65535个方法解决方法
- Windows进程通信——内存映射
- 利用js实现Ajax操作(不通过数据库传数据)
- 面向对象的基本特征
- python 深入理解 赋值、引用、拷贝、作用域
- Linux 信号详解一(signal函数)
- ajax请求不进入success函数的原因
- SpringBoot整合thymeleaf模板
- 遗传算法解决八数码难题