谈谈如何查看Android项目方法数
我们都知道,Android App的方法数是有天花板的,在方法数达到65536时,就会出现打包异常,这个时候,我们需要去除一些不需要的三方工具包,或者采用多Dex技术分包,都能达到正常打包的效果。
可是我们怎么能够知道当前App的方法数,来达到未雨绸缪呢?如果我们每次打包APK的时候都能知晓App的具体方法数是多少,那么我们就能及时采取对应的措施,而不是火烧眉毛的解决问题。
如何查看方法数
当然,不可能一个个的数,那样做肯定是愚蠢的,本文介绍一个统计Apk方法数的工具,Dexcount Gradle Plugin
我们首先需要配置Dexcount工具,这里笔者使用Android Studio进行配置。
buildscript {
repositories {
jcenter()
}
}
dependencies {
classpath 'com.android.tools.build:gradle:1.3.0'
classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.6.1'// 项目根目录build.gradle配置代码
}
}
apply plugin: 'com.android.application'
apply plugin: 'com.getkeepsafe.dexcount'//在项目build.gardle中配置代码
接下来,就算配置成功了,在Terminal窗口运行gradle assemble 或者gradlew assemble
如果build成功的话,会看到下图所示的统计:


当然,这些只是简单的Apk统计,每次打包后,都能看到当前Apk已经使用的方法数。
除此之外呢,还可以通过build/outputs/xxx来查看每个包下面的方法数。
如下图所示
总结
通过Dexcount Gradle Plugin 我们能很清楚的知道Apk当前方法数占用情况,是不是很方便,大大减小了马上上线了可是打包因为方法数超过限制的风险。
谈谈如何查看Android项目方法数的更多相关文章
- Android为什么方法数不能超过65535
言归正传,来聊聊为什么方法数不能超过65535?搬上Dalvik工程师在SF上的回答,因为在Dalvik指令集里,调用方法的invoke-kind指令中,method reference index只 ...
- Android的方法数超过65535问题
Under the Hood: Dalvik patch for Facebook for Android 先来看一段中文内容 Hack Dalvik VM解决Android 2.3 DEX/Line ...
- Android工程方法数超过64k,The number of method references in a .dex file cannot exceed 64K.
最近将一个老的Eclipse项目转到Android Studio后,用gradle添加了几个依赖,项目可以make,但是一旦run就报错 Error:The number of method refe ...
- Android 65536方法数限制的思考
前言 没想到,65536真的很小. 1 Unable to execute dex: method ID not in [0, 0xffff]: 65536 PS:本文只是纯探索一下这个65K的来源, ...
- 彻底解决Android 应用方法数不能超过65K的问题
作为一名Android开发者,相信你对Android方法数不能超过65K的限制应该有所耳闻,随着应用程序功能不断的丰富,总有一天你会遇到一个异常: Conversion to Dalvik forma ...
- Android 解决方法数 65536 (65k) 限制
可能出现的错误信息: Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: ...
- Android工程方法数超过65535的解决办法
Error:Execution failed for task ':ttt:transformClassesWithDexForDebug'.com.android.build.api.transfo ...
- 解决Android 应用方法数不能超过65K的问题
Conversion to Dalvik format failed:Unable toexecute dex: method ID not in [0, 0xffff]: 65536 假设你的应用出 ...
- Android查看应用方法数
当一个项目快速迭代时,难免引进各种依赖,从而导致单个apk超过65k的限制.如何查询apk的方法数也是每个Android Developer必备技能. 我使用的是 dex-method-counts ...
随机推荐
- PAT 甲级 1078 Hashing
https://pintia.cn/problem-sets/994805342720868352/problems/994805389634158592 The task of this probl ...
- npm 报错unable to verify the first certificate
npm总是报错:unable to verify the first certificate 原创 2017年09月30日 11:06:10 https://blog.csdn.net/nicexib ...
- 六大Web负载均衡原理与实现
还有个姊妹篇也可以参考这个文章:LVS(Linus Virtual Server):三种负载均衡方式比较+另三种负载均衡方式, LVS 实现了负载均衡,NAT,DR,TUN zookeeper使用ZA ...
- EntityFramework 数据校验异常处理
public void Insert(PageHost entity) { try { db.pagehost.Add(entity); db.SaveChanges(); } catch (DbEn ...
- pgm5
这部分讨论 inference 里面基本的问题,即计算 这类 query,这一般可以认为等价于计算 ,因为我们只需要重新 normalize 一下关于 的分布就得到了需要的值,特别是像 MAP 这类 ...
- Codeforces914G Sum the Fibonacci(FWT)
FWT大杂烩.跟着模拟做很多次FWT即可. #include<iostream> #include<cstdio> #include<cmath> #include ...
- jquer导航锚点链接动画效果和返回顶部代码
$(function(){ $(".index_nav li a").click(function(event){ //绑定按钮的单击事件 var index = this.tit ...
- Courses HDU - 1083 (二分匹配模板题)
Consider a group of N students and P courses. Each student visits zero, one or more than one courses ...
- hdwiki 前后台版权信息在哪修改
hdwiki 前台copyright 信息在 view/default/footer.htm 搜索footer-phdwiki 后台copyright 信息在 view/default/admin_m ...
- spring.net框架配置和使用
spring.net框架学习笔记 spring.net框架是用于解决企业应用开发的复杂性的一种容器框架,它的一大功能IOC(控制反转),通俗解释就是通过spring.net框架的容器创建对象实体,而不 ...