[Android] Android統計Apk , jar包方法數


reference to : http://www.jianshu.com/p/61e8f803e0d1

 

Android在開發過程中,隨着引用的庫以及業務的增多,不可避免的會出現64K limit問題,也就是方法數過多的問題,Java代碼中的Method總數和Field總數都不能超過65535個,那統計一下每一個jar包中包含多少個Method還是很有必要的,目前Google已經為我們實現了這樣的工具:

dexdump命令 (查看apk的method總數)

#查看apk的method總數
dexdump -f app.apk | grep method_ids_size
#查看apk的field總數
dexdump -f app.apk | grep field_ids_size

 但是這只是apk文件,如果是jar包呢,上面的命令不能滿足需求,那我們可以用下面的命令來實現:

dx --dex --verbose --no-strict --output=temp.dex xxx.jar > /dev/null

# temp.dex 生成的dex文件存放的路徑
# xxx.jar 目標jar文件

生成temp.dex文件后,執行以下命令:

cat temp.dex | head -c 92 | tail -c 4 | hexdump -e '1/4 "%d\n"'

我對netty-3.9.5.Final.jar計算后,輸出了8302
在Android上用上Netty這個庫,可真是重量級啊!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM