[Android] Android统计Apk , jar包方法数
生活随笔
收集整理的這篇文章主要介紹了
[Android] Android统计Apk , jar包方法数
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
reference to : http://www.jianshu.com/p/61e8f803e0d1
?
Android在開(kāi)發(fā)過(guò)程中,隨著引用的庫(kù)以及業(yè)務(wù)的增多,不可避免的會(huì)出現(xiàn)64K limit問(wèn)題,也就是方法數(shù)過(guò)多的問(wèn)題,Java代碼中的Method總數(shù)和Field總數(shù)都不能超過(guò)65535個(gè),那統(tǒng)計(jì)一下每一個(gè)jar包中包含多少個(gè)Method還是很有必要的,目前Google已經(jīng)為我們實(shí)現(xiàn)了這樣的工具:
dexdump命令 (查看apk的method總數(shù))
#查看apk的method總數(shù) dexdump -f app.apk | grep method_ids_size #查看apk的field總數(shù) dexdump -f app.apk | grep field_ids_size?但是這只是apk文件,如果是jar包呢,上面的命令不能滿足需求,那我們可以用下面的命令來(lái)實(shí)現(xiàn):
dx --dex --verbose --no-strict --output=temp.dex xxx.jar > /dev/null# temp.dex 生成的dex文件存放的路徑 # xxx.jar 目標(biāo)jar文件生成temp.dex文件后,執(zhí)行以下命令:
cat temp.dex | head -c 92 | tail -c 4 | hexdump -e '1/4 "%d\n"'我對(duì)netty-3.9.5.Final.jar計(jì)算后,輸出了8302
在Android上用上Netty這個(gè)庫(kù),可真是重量級(jí)啊!
?
總結(jié)
以上是生活随笔為你收集整理的[Android] Android统计Apk , jar包方法数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 开源Registry项目Harbor源代
- 下一篇: 黑马程序员——选择排序