美文网首页
统计APK中方法数量

统计APK中方法数量

作者: oemersV阳阳 | 来源:发表于2017-02-10 15:51 被阅读81次

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

相关文章

  • 统计APK中方法数量

    Android开发中有对APK的方法数量做限制,不能超过65536.如果超过了该数目,会遇到如下异常: Conve...

  • 面试题-如何实现多渠道打包

    Android程序员面试宝典 由于apk程序需要发布到不同市场,针对不同市场,做下载数量的统计,或者针对不同的市场...

  • MongoDb知识点整理(二)

    分页查询统计数量#统计全部数量db.test.count()#统计特定条件的数量db.test.count({us...

  • 2021-11-07 204. 计数质数【Medium】

    统计所有小于非负整数 n 的质数的数量。 示例 1: 示例 2: 示例 3: 提示: 方法一:筛子法

  • 统计数量

    终于解套。 有口诀,底部放量要跟,跟错也要跟,很对。但是如何跟,在什么位置去跟? 这次在操作苏利有了经验,从放量再...

  • 商务与经济统计第二章笔记

    描述性统计学1:表格法和图形法 一、单个变量的汇总方法 1、表格汇总方法 1)频数分布 数量型变量则需要分组,5-...

  • Android API统计

    Android 4.4 API数量统计 Android 5.0 API统计 Android 6.0 API统计 A...

  • 统计单词数量

    sort 与 sorted 区别: sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进...

  • featureCounts 统计reads数量

    此前,介绍过在转录组分析过程中使用HTseq统计reads数量;HTseq统计reads数量。本次介绍一款速度较于...

  • HTseq统计reads数量

    HTseq使用python编写的一款用于基因Count表达量分析的软件,可根据SAM/BAM 以及gff文件得到基...

网友评论

      本文标题:统计APK中方法数量

      本文链接:https://www.haomeiwen.com/subject/faggittx.html