美文网首页
apk 方法数超限问题

apk 方法数超限问题

作者: 朱立志 | 来源:发表于2016-04-20 14:06 被阅读88次

    前言

    一款好的App首先需要保证功能稳定性(在用户手上不Crash),同时也要考虑节省用户的流量,电量等。随着应用的功能越来越多,你的apk大小也将会越来越大,最后你会发现你的APK 一个DEX 文件已经不行了,那就不需要进行拆分,一般多是用google 多dex 拆分,本身也比较简单,但是拆分后的多dex 文件在执行效率上面是受到影响的,因为多个DEX 文件执行,很多代码是没有打上CLASS_ISPREVERIFIED这个标记的,这个需要我们不断优化自己apk,减少方法数,尽量避免65536 问题的发生。

    接下来我们先统计下apk的方法数,有两个开源的工具可以统计

    https://github.com/viilaismonster/ApkFuncCounter

    安装

    需要预先配置jdk环境,测试 java -version保证其可以使用

    将目录下*.sh *.jar一共三个文件解压到任意文件夹(如 ~/temp)

    chmod +x ./count.sh

    使用

    ./count.sh test1.apk -d 5 -diff test2.apk viila

    实用比较简单

    另一个:

    https://github.com/mihaip/dex-method-counts

    To run it with Ant:

    $ ant jar

    $ ./dex-method-counts path/to/App.apk # or .zip or .dex or directory

    or with Gradle:

    $ ./gradlew assemble

    $ ./dex-method-counts path/to/App.apk # or .zip or .dex or directory

    on Windows:

    $ gradlew assemble

    $ java -jar path\to\build\jar\dex-method-counts.jar path\to\App.apk

    知道自己apk有多少方法,然后在对apk进行瘦身

    相关文章

      网友评论

          本文标题:apk 方法数超限问题

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