显著减少项目gradle编译时间
2017-12-05 10:25
232 查看
http://blog.csdn.net/zhang___yong/article/details/65947914
原文来自https://zeroturnaround.com/rebellabs/making-gradle-builds-faster/
1.对build过程进行配置实现编译优化:
(1)首先了解如何用命令行进行编译:
使用git命令行进入项目根目录,然后执行
[java]
view plain
copy
./gradlew :app:assembleDebug --dry-run
这样显示编译成功后也会在底部显示编译的总时间。
第一次编译会对依赖等进行处理,时间会长一些。
(2)显示编译的详细时间
只需要在命令行中加入--profile,也就是
[java]
view plain
copy
./gradlew :app:assembleDebug --dry-run --profile
项目目录的build/reports/profile下就会出现一个html文件,里面显示了编译的几个环节以及所需的时间:
(3)设置按需编译:
我们可以设置gradle只在需要编译的地方进行编译,这个功能是graldle的一个隐藏功能,只需要在命令行中加入--config-on-demand即可
再次编译后就会发现编译时间有明显减少。
(4)设置daemon:
gradle是通过jvm进行编译的,而daemon可以大大减少加载jvm和classes等的时间,使用只需要加入--daemon
2.使用最新版本的gradle:
gradlex每次更新工程师都会对它进行优化,所以使用最新的gradle自然会获得最快的速度
(文档里的更新部分没有看懂,待指教)
同理也应该使用最新的java
3.固定依赖版本:
在gradle文件里设置的各种依赖库的版本是可以动态指定的,版本号使用+代替。但是这样的话会带来很多问题,首先,编译时编译器会连接网络寻找这个库的最新版本,然后有可能会进行更新,耗费很多时间。其次,由于版本的不确定,在将项目移植到别的地方时也会出现版本不对应编译不通过的问题。所以,将库的版本写死是最好的选择。
4.将项目模块化:
将项目进行模块化的架构设计有什么好处呢,gradle拥有将这些模块进行并行编译的能力,这显然会大大提高效率。为了支持这种并行操作,需要在命令行中加入--parallel。
原文来自https://zeroturnaround.com/rebellabs/making-gradle-builds-faster/
1.对build过程进行配置实现编译优化:
(1)首先了解如何用命令行进行编译:
使用git命令行进入项目根目录,然后执行
[java]
view plain
copy
./gradlew :app:assembleDebug --dry-run
这样显示编译成功后也会在底部显示编译的总时间。
第一次编译会对依赖等进行处理,时间会长一些。
(2)显示编译的详细时间
只需要在命令行中加入--profile,也就是
[java]
view plain
copy
./gradlew :app:assembleDebug --dry-run --profile
项目目录的build/reports/profile下就会出现一个html文件,里面显示了编译的几个环节以及所需的时间:
(3)设置按需编译:
我们可以设置gradle只在需要编译的地方进行编译,这个功能是graldle的一个隐藏功能,只需要在命令行中加入--config-on-demand即可
再次编译后就会发现编译时间有明显减少。
(4)设置daemon:
gradle是通过jvm进行编译的,而daemon可以大大减少加载jvm和classes等的时间,使用只需要加入--daemon
2.使用最新版本的gradle:
gradlex每次更新工程师都会对它进行优化,所以使用最新的gradle自然会获得最快的速度
(文档里的更新部分没有看懂,待指教)
同理也应该使用最新的java
3.固定依赖版本:
在gradle文件里设置的各种依赖库的版本是可以动态指定的,版本号使用+代替。但是这样的话会带来很多问题,首先,编译时编译器会连接网络寻找这个库的最新版本,然后有可能会进行更新,耗费很多时间。其次,由于版本的不确定,在将项目移植到别的地方时也会出现版本不对应编译不通过的问题。所以,将库的版本写死是最好的选择。
4.将项目模块化:
将项目进行模块化的架构设计有什么好处呢,gradle拥有将这些模块进行并行编译的能力,这显然会大大提高效率。为了支持这种并行操作,需要在命令行中加入--parallel。
相关文章推荐
- 显著减少项目gradle编译时间
- Android Studio下项目编译出错could not find com.android.tools.buildgradle:2.2.2
- 减少C++代码编译时间的方法
- linux环境下启动tomcat7出现时间过长(已经编译完成的项目)问题解决!
- 安卓项目导入Android studio编译出现gradle错误部分问题
- 7 用gradle 编译 开源项目源码
- spark streaming---使用gradle混合编译Scala和Java项目并打包
- Android使用ccache减少编译时间
- 不起眼的android studio gradle小问题 看不到症状的超长时间编译足够浪费你几百块钱工资的
- 关于AndroidStudio Gradle加载项目时间过长的原因及解决
- 使用gradle命令行编译安卓项目
- android studio 编译项目时报错: Gradle 'XXX' project refresh failed
- 减少C++代码编译时间的方法
- 关于quartus和modelsim联合仿真中预编译库文件,减少仿真时间的方法
- u3d减少编译时间原理
- 减少Qt编译时间暨简单Qt裁剪
- 减少C++代码编译时间的方法
- 减少Qt编译时间暨简单Qt裁剪
- 解决Cocos2dx新建项目编译时间过长等问题
- Ubuntu下通过Gradle本地编译打包Android项目