[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这个库,可真是重量级啊!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/542345.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

type c pin定义_在C中定义宏以设置和清除PIN的位

type c pin定义Given a PIN (value in HEX) and bit number, we have to SET and then CLEAR given bit of the PIN (val) by using Macros. 给定一个PIN(十六进制值)和位数,我们必须使用宏将SET(设置),然后清除给定的PIN(值)位(值)。 Macros definitio…

android9有深色模式吗,深色模式还是黑色模式?微信把所有人都搞懵了

原标题:深色模式还是黑色模式?微信把所有人都搞懵了前一阵子,微信正式加入了对“深色模式”的支持,这也是除了Windows Phone 版本以外微信第一次从系统层面支持深色模式。虽然这次更新离WWDC上的演示已经过去了9个月,但…

网站后端_Python+Flask.0007.FLASK构造跳转之301跳转与302重定向?

构造地址:说明: FLASK支持通过视图函数及传参来构造URL,而且未来修改URL可一次性修改,且默认构建会转义特殊字符和Unicode数据,这些工作不需要我们自己处理,且不仅支持在上下文中构造而且还支持在模版文件中构造#!/usr/bin/env python # -*- coding: utf-8 -*- ""&qu…

python插值程序_计算方法(2)——插值法(附Python程序)

给定一些数据,生成函数的方式有两种:插值,回归。插值而得到的函数通过数据点,回归得到的函数不一定通过数据点。下面给出拉格朗日插值,牛顿插值和Hermite插值的程序,具体原理可参考课本,不再赘述…

java中cbrt_Java Math类静态double cbrt(double d)示例

java中cbrt数学类静态double cbrt(double d) (Math Class static double cbrt(double d)) This method is available in java.lang package. 此方法在java.lang包中可用。 This method is used to find the cube root of the given parameter in the method. 此方法用于查找方法…

html中电子邮件怎么写,谈html mailto(电子邮件)实际应用

大家知道,mailto是网页设计制作中的一个非常实用的html标签,许多拥有个人网页的朋友都喜欢在网站的醒目位置处写上自己的电子邮件地址,这样网页浏览者一旦用鼠标单击一下由mailto组成的超级连接后,就能自动打开当前计算机系统中默…

python爬虫urllib 数据处理_Python 爬虫笔记之Urllib的用法

urllib总共有四个子模块,分别为request,error,parse,robotparserrequest用于发送request(请求)和取得response(回应)error包含request的异常,通常用于捕获异常parse用于解析和处理urlrobotparser用于robot.txt文件的处理urllib.request 模块import urllib.requestresponseurlli…

语法分析-C语言程序

⑴<C语言程序>——〉begin<语句串>end ⑵<语句串>——〉<语句>{&#xff1b;<语句>} ⑶<语句>——〉<赋值语句> ⑷<赋值语句>——〉ID&#xff1a;<表达式> ⑸<表达式>——〉<项>{<项> | -<项>…

python中对比数组长度_在Python中检索数组长度的首选方法

python中对比数组长度The __len__() is a method on container types. However, python also provides another option of retrieving the length of an array, using the method len(). __len __()是关于容器类型的方法。 但是&#xff0c;python还使用len()方法提供了另一个检…

html window 属性,html中window对象top 、self 、parent 等属性

top 属性返回最顶层的先辈窗口。该属性返回对一个顶级窗口的只读引用。如果窗口本身就是一个顶级窗口&#xff0c;top 属性存放对窗口自身的引用。如果窗口是一个框架&#xff0c;那么 top 属性引用包含框架的顶层窗口。下面的例子窗口是否在一个框架中&#xff0c;如果是&…

python随机抽签列表中的同学值日_神奇的大抽签--Python中的列表_章节测验,期末考试,慕课答案查询公众号...

神奇的大抽签--Python中的列表_章节测验,期末考试,慕课答案查询公众号更多相关问题下图表示几个植物类群的进化关系。下列叙述不正确的是[ ]A&#xff0e;最先出现的植物类群是甲B&#xff0e;乙和丙都是由甲进化来的请结合下图中的有关动物回答问题。(1)___的发育为不完全变态…

LightGBM中GBDT的实现

现在LightGBM开源了&#xff0c;这里将之前的一个文档发布出来供大家参考&#xff0c;帮助更快理解LightGBM的实现&#xff0c;整体思路应该是类似的。 LightGBM优雅&#xff0c;快速&#xff0c;效果好&#xff0c;希望LightGBM越来越好:) LightGBM中GBDT的实现 http://www.do…

python逗号分隔符_在Python中用逗号将数字打印为数千个分隔符

python逗号分隔符什么是质数&#xff1f; (What is a prime number?) Many times, while writing the code we need to print the large number separated i.e. thousands separators with commas. 很多时候&#xff0c;在编写代码时&#xff0c;我们需要打印大量的分隔符&…

html页面foot,HTML tfoot用法及代码示例

HTML中的标记用于提供页脚内容组。此标记在带有标题和正文的HTML表中使用&#xff0c;称为“thead”和“tbody”。 标记是表的子标记&#xff0c;是和的父标记。用法: // Table footer contents... 属性&#xff1a;标记包含HTML4.1支持但HTML5不支持的许多属性。align:设置文本…

Tensorflow学习笔记4:分布式Tensorflow

简介 Tensorflow API提供了Cluster、Server以及Supervisor来支持模型的分布式训练。 关于Tensorflow的分布式训练介绍可以参考Distributed Tensorflow。简单的概括说明如下&#xff1a; Tensorflow分布式Cluster由多个Task组成&#xff0c;每个Task对应一个tf.train.Server实例…

c语言指针访问 静态变量_使用C中的指针访问变量的值

c语言指针访问 静态变量As we know that a pointer is a special type of variable that is used to store the memory address of another variable. A normal variable contains the value of any type like int, char, float etc, while a pointer variable contains the me…

迭代器 java_Java设计模式8:迭代器模式

迭代器模式迭代器模式又叫做游标(Cursor)模式&#xff0c;其作用是提供一种方法访问一个容器元素中的各个对象&#xff0c;而又不暴露该对象的内部细节。迭代器模式结构迭代器模式由以下角色组成&#xff1a;1、迭代器角色负责定义访问和遍历元素的接口2、具体迭代器角色实现迭…

html二级下拉菜单模板,基于jQuery实现二级下拉菜单效果

本文通过代码实例详细介绍一下简单的二级下拉菜单是如何实现的&#xff0c;当然还有更为复杂的二级菜单&#xff0c;不过先学会如何制作简单的&#xff0c;分享给大家供大家参考&#xff0c;具体内容如下代码如下&#xff1a;下拉菜单nav a{text-decoration:none;}nav>ul>…

给定一个整数判断是否为素数_Ruby程序检查给定数字是否为素数

给定一个整数判断是否为素数检查素数 (Checking prime number) Before getting into writing the code, let us understand what exactly the prime numbers are? So that we could easily design its logic and implement it in the code. Prime numbers are those numbers w…

python 正则findall右斜杠_python中正则表达式的使用

本文将介绍几个最常用的正则符号&#xff0c;以及正则表达式的应用场景。如果说【数学表达式】刻画的是数字的内在规律&#xff0c;那么【正则表达式】则是用来刻画和描述字符串内在规律的表达式。记得刚接触python时学习过slice&#xff0c;replace&#xff0c;split等方法&am…