前言
一款好的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进行瘦身
网友评论