http://www.jianshu.com/p/200d55b4d40a
http://www.jianshu.com/p/200d55b4d40a
http://www.jianshu.com/p/200d55b4d40a
加快gradle的编译速度总结-亲身经历
说明
刚进公司,由于公司准备新地方,所以电脑不够用,先用自己的电脑开发。然后配置环境,AS运行新项目,第一次大概花了20多分钟,等得蛋都碎了一地。以为接下来会没事,鬼知道第二次还是10多分钟,我直接疯掉。然后网上查了下资料,总结了一些笔记,分享给大家。
参考网站
参考步骤
第一步:配置.gradle文件夹目录(开启Gradle单独守护线程)
-
在windows系统的C:\Users\用户名\.gradle目录下创建gradle.properties文件(有直接用),然后添加以下内容,添加之后会在所以的项目中生效(有内容则并入),添加后全局生效
org.gradle.daemon=true // 开启线程守护,第一次编译时开线程,之后就不会再开了 org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 // 配置编译时的虚拟机大小 org.gradle.parallel=true // 开启并行编译,相当于多条线程再走 org.gradle.configureondemand=true 启用新的孵化模式
-
还可以在当前项目中的gradle.properties文件中添加以上内容,则只会在当前项目生效
第二步:修改android studio配置
-
Ctrl+Alt+S打开设置选项卡,找到Gradle选项,选中offline work,点击apply,如下
-
找到Compiler选项,设置如下
-
设置网络代理,增加访问网络速度,具体请参考提供的网站
-
在具体开发module的build.gradle文件中添加
dexOptions { //使用增量模式构建 incremental true //最大堆内存 javaMaxHeapSize "8g" //是否支持大工程模式 jumboMode = true //预编译 preDexLibraries = true //线程数 threadCount = 8 }
第三步:如果编译还是很慢的话,那就只能添加内容条和固态硬盘了
另一种神速编译方式,使用命令行脚本的方式编译
-
第一步:在目标项目的根节点下创建文件c.bat(名字尽量短) -->构建脚本,内容如下:
@Echo Off if /i "%1"=="" goto :default if /i "%1"=="i" goto :install if /i "%1"=="u" goto :uninstall ::执行实际的命令 goto :raw ::无参数情况下的默认执行命令 :default gradlew iD goto :eof ::实际命令 :raw gradlew %1 goto :eof ::安装所有Debug版本的APK :install gradlew iD goto :eof ::卸载所有版本的APK :uninstall gradlew uA goto :eof
-
第二步:在AS控制台的命令行Terminal窗口输入刚才的文件名,然后回车就好了,编译成功,然后打开应用
- 这种方式好像是会更快一些,而且不会导入整个电脑的卡顿,总的来说这种方法应该值得推荐。