编译时间太长?跟我学对症下药!

随着项目的不断迭代,项目越来越大,编译时间也是越来越多,特别是多module的项目更是严重,每次编译项目的时候都是痛苦的等待,那么我们怎么去发现项目里面编译时间花费的地方呢?

查看Task编译时间

通过命令窗口,输入gradlew build –profile 命令,如图
2017-07-28_222419.png

android studio就会进行编译,经过漫长的等待。并在项目的根目录–build–report底下生成一个文件(4),如图:
root.png

然后在浏览器打开该文件
2017-07-28_212603.png

我们可以看到task 总共花了10分钟。。。。。
first.png

定位耗时Task

具体的时间花费可以进入Task Execution查看,我们可以发现主要是lint这个task花费了很多时间,这里就只对这个task 进行分析。
lint.png

我们知道lint 是用来代码检查的,为了项目的代码更加的符合规范。这个是android studio 内置的task ,一般情况下是不建议把这个关闭的,这里只是为了引出关闭耗时的task,作为分析的。或者你可以刚开始开发的时候关闭,后面再开启检测,专门进行整理,按照自己的习惯安排。
setting.png

那么我们怎么去关闭这个任务呢?

如何关闭不必要的Task
  • 更改配置
    一个最简单的方法,自定义一个inspections,如图,将所有lint(我这里为了简单全部去掉,读者可以根据需要勾选)
    self.png

如果你不想修改配置,还是想关闭lint,那怎么做呢?还是有办法的!

  • 通过命令执行
    比如 ./gradlew build -x lint (linux系统执行命令要加./ windows则不需要,其中的 -x就是不执行的意思,build就是具体的命令)
    如果需要跳过多个命令的话./gradlew build -x checkstyle -x pmd -x findbugs -x lint -x test

  • 代码里面执行
    如果想所有情况都生效,可以写在gradle文件里面。
    tasks.whenTaskAdded{ task->
    if(task.name.equals(“lint”)) {
    task.enabled=false
    }
    }
    这段代码放到gradle文件的最顶端(在apply的前面执行)

查看效果

最后再一次执行 gradlew build –profile 查看相应的分析文件,花费的时间变成了以前的五分之一(公司的项目比较大,所以编译时间比较多)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值