统计APK中方法数量
来源:互联网 发布:阐释者淘宝 编辑:程序博客网 时间:2024/05/22 00:38
Android开发中有对APK的方法数量做限制,不能超过65536.如果超过了该数目,会遇到如下异常:
Conversion to Dalvikformat failed:Unable toexecute dex: method ID not in [0, 0xffff]: 65536
之所以出现上述问题,主要原因在于Android系统中,方法id存储在Dex文件中使用的是short类型数据,所以导致了dex中方法不能超过65k。
知道了上面的限制,那么如何知道生成的APK的方法数量呢?以及如何解决APK中方法总数超过65536并生成包。
我们可以使用dex-method-counts(https://github.com/mihaip/dex-method-counts)来统计包中的总体数量,使用方法很简单,只需执行下面语句即可:
java -jar path\dex-method-counts.jar path\App.apk
为了省却大家重新编译生成jar包问题,提供下载地址
知道了统计包中方法数量,如果超过了限制如何处理呢?
首先想到的就是去掉代码中没使用到的函数,去掉没有使用到的jar包,以及将类中成员由private换成public,减少set/get函数。但是这些都是去标不去本的方法,有没什么更好的解决方法呢?
采用类似微信方式的插件or使用分包机制。
详细内容可以参考美团提供的解决方案:
http://tech.meituan.com/mt-android-auto-split-dex.html
转载自:http://blog.csdn.net/zhengdan66/article/details/46960131
0 0
- 统计APK中方法数量
- 统计APK中方法数量
- 统计APK中方法数量
- Android 统计apk中方法的数量
- 使用multidex_method_counts统计apk内方法数量
- 统计apk或者jar包方法数量
- 查看apk 的方法数量
- 统计文件中字符串数量
- 使用dex-method-counts.jar统计APK中方法数目
- [Android] 统计apk中各个模块中的方法数
- Android统计APK方法数
- js去除重复并统计数量方法
- 统计字符串中各个字符的数量
- 【Java】统计字符串中各字符数量
- 【Java】统计文件中各单词数量
- 使用Python统计字符串中单词数量
- Android apk方法数量的检查和处理方法
- 一个在线的Apk方法统计工具
- Java进程奔溃故障排查
- Android 5.0使用android:onClick属性出现崩溃的原因及解决方案
- nginx反向代理与负载均衡
- GridView基于pulltorefresh实现下拉刷新 上拉加载更多功能
- 如何将服务器上oracle11g数据dump出来导入到本地的oracle10版本
- 统计APK中方法数量
- apple mach-o linker error 报错解决
- 【PAT甲级】1067. Sort with Swap(0,*) (25)
- Android okhttp3 创建Socket的底层实现追踪
- Monocular slam 理论基础(2)
- iOS -- UITableView基本使用
- NFS服务基本配置及使用
- objc_setAssociatedObject 使用
- 算法的可视化工具