美文网首页
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 方法数超限问题

    前言 一款好的App首先需要保证功能稳定性(在用户手上不Crash),同时也要考虑节省用户的流量,电量等。随着应用...

  • Android-65536方法数限制

    从编译apk 遇到65536(64k) 方法数限制问题说起。 一.方法数限制包含 1.android framew...

  • Android Dex分包原理

    为什么要分包? 1、65536问题 导致因素随着项目apk的庞大以及加入更多的第三方库,app的方法数已经超过了6...

  • Android Dex分包

    1.为什么要分包? 65536问题 导致因素随着项目apk的庞大以及加入更多的第三方库,app的方法数已经超过了6...

  • 查看 Apk方法方法总数

    参考:直接把apk导入,就可以查看apk的放法数http://inloop.github.io/apk-metho...

  • 使用插件方式接入环信

    有时候我们需要在应用中接入即时通讯等功能,可是又苦于apk过大、65535方法数等相关问题,这时候最好的方式就是用...

  • 插件化

    插件化的由来 方法数瓶颈 65535/64K个 插件化要解决的问题 动态加载apk 资源加载 AssetMan...

  • 查看apk方法数

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

  • 统计APK方法数

    随着产品的迭代,难免会碰到方法数上限的问题,除了正常的拆包,分包方案以外,另一方面我们应该尽可能的减少第三方库的依...

  • ZeusPlugin:掌阅Android App插件补丁实践

    原文链接 遇到问题 65K方法数超限随着应用不断迭代,业务线的扩展,应用越来越大,那么很不幸,总有一天,当你编译的...

网友评论

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

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