AndroidStudio-Eat-Guide—— 2.Gradle编译优化
2017-05-09 18:41
357 查看
点击打开链接
AndroidStudio-Eat-Guide—— 2.Gradle编译优化
标签: AndroidStudio-Eat-GuideGithub地址:https://github.com/coder-pig/AndroidStudio-Eat-Guide
问题描述
上一节中我们了解了Android Studio的优缺点,下载与安装。可能你已经摩拳擦掌
想试试AS这个强大的Android IDE了。然后,你新建了一个项目,接着你视线中会
出现:
这个东西,他会一直在转个不停,而且可能很卡,
可能N多分钟过去了,你还没进入到新建的项目中,然后你就开始
疯狂吐槽了,什么垃圾编译器,新建个项目都要跑这么久,还不如用回Eclipse…
然而AS中的Gradle构建工具表示很无奈,卡顿的主要原因如下:
1.电脑硬件问题:编译时会有较大的CPU暂用,内存占用,频繁的IO读写
2.Gradle编译时候会去查询下载项目依赖的库,然后仓库是jcenter,国外,你懂得;
3.项目模块较多,Gradle默认挨个按顺序处理
4.等等…
既然知道了问题,那么接下来从各个方面来优化Gradle构建的速度。
1.硬件优化
标准配置:CPU i5以上,内存 至少8G,硬盘 必须固态SSD附:相同配置的电脑Ubuntu系统上使用AS比Windows流畅一些,亲测~
2.使用国内Maven仓库或自己搭建
上面也说了,Gradle默认会到jcenter下载项目依赖的库,国外下载速度会很慢, 或者根本没网速,如果你没代理的话,这里的话可以公司搭建本地maven仓库,
库都下到这个Maven仓库,项目在添加上这个仓库的地址,当然配置是比较繁琐的。
如果就那么几个人开发的话,没什么太大的必要去搞,可以直接使用阿里提供的
Maven仓库,在项目根目录下的build.gradle中添加仓库地址即可:
maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}1
1
3.使用SS代理
相信经常Google查学习资料的童鞋都有SS这样的代理工具,既然jcenter是国外的,自然可以通过配置SS来加快下载速度咯。打开AS的Setting,勾选输入下述
内容:
SS开启PAC模式代理即可。
4.开启Gradle离线编译模式
假如你通过上述的套路已经把相应的库下载到了本地,你就可以开启离线编译模式了,如果某个依赖在本地不存在的话,是会编译出错的!直接打开Setting,勾选Offline,
选择本地的.gradle文件夹即可。
也可以命令行走一波:
./gradlew --offline build1
1
5.调整gradle.properties中的各种配置
前面的话是下载库优化的,接着是gradle配置优化,打开项目根目录的 gradle.properties文件,按需添加下述配置项:
# 分配更大的内存 org.gradle.jvmargs=-Xmx3062m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 # 开启守护进程 org.gradle.daemon=true # 开启并行编译 org.gradle.parallel=true # 开启缓存 android.enableBuildCache=true # 开启孵化模式 org.gradle.configureondemand=true1
2
3
4
5
6
7
8
9
10
11
12
13
14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
6.Android Studio配置优化
同样,也可以为AS分配更多的内存,打开AS的安装目录下的bin目录,找到 文件,打开修改下这两个:
比如改成:-Xms512m -Xmx2048m ,然后重启下AS即可。
7.写死依赖库版本
有些小伙伴在build.gradle添加依赖库的时候喜欢写成下面这种版本号,compile "com.github.bumptech.glide:glide:3.+"1
1
初衷是好的:每次都从仓库中获取最新的库,自动升级,但是也意味着
如果新版接口改了会导致编译失败的问题,而且Gradle回去仓库中试图
拉取最新版本,网络不好时,也会拖慢Gradle的构建速度,所以还是建
议写死依赖库的版本号。例如:
compile "com.github.bumptech.glide:glide:3.7.0"1
1
9.直接在git bash命令行编译项目
这点不算优化,只是个人偏好的一种方式,比如你在gayhub上clone了 一个Demo,如果你直接用AS打开的话,那么你有N多分钟不用做事了,
就卡在编译界面那里,我们可以直接在命令行进行编译,进入项目
目录右键,Git bash,键入下述指令进行编译:
./gradlew build1
1
Gradle在干什么,一目了然~
暂时想到的就这些,如果后面get了什么新姿势再来补充吧,如果你知道
更多Gradle优化的技巧欢迎告知,万分感激~
参考文献:
一些关于加速Gradle构建的个人经验
顶
相关文章推荐
- AndroidStudio-Eat-Guide—— 2.Gradle编译优化
- androidstudio 优化gradle编译效率
- androidstudio 优化gradle编译效率
- AndroidStudio-Eat-Guide—— 5.第一个项目的创建运行:HelloAS
- gradle编译慢的解决办法,优化android studio编译效率
- Androidstudio升级后Refreshing Gradle Project编译更新Gradle卡住问题
- Gradle编译优化--让你的打包速度快一倍
- AndroidStudio编译优化
- Gradle编译优化,导致Resources$NotFoundException
- androidstudio gradle问题 导入别人项目 编译很久问题
- AndroidStudio 编译时遇到:Error:(246, 0) Gradle DSL method not found: 'testCompile()' (或者其他)问题
- AndroidStudio用gradle编译中文乱码
- AndroidStudio gradle 编译报错 :Unsupported major.minor version 52.0 , 解决方案
- (4.5.3.1)AndroidStudio用gradle编译中文乱码
- AndroidStudio2.1.3+gradle-experimental0.7.3 ndk编译带汇编(.S)的坑
- Android Studio之优化gradle编译速度
- 使用Ramdisk加速Android工程的编译 (AndroidStudio Gradle)
- AndroidStudio-Eat-Guide—— 1.下载安装配置
- 使用Android Studio和Gradle编译NDK项目之Experimental Plugin User Guide
- 简单的android studio之gradle编译加速优化