@coder-pig
2017-05-09T17:54:17.000000Z
字数 2017
阅读 1710
AndroidStudio-Eat-Guide
Github地址:https://github.com/coder-pig/AndroidStudio-Eat-Guide
问题描述
上一节中我们了解了Android Studio的优缺点,下载与安装。可能你已经摩拳擦掌
想试试AS这个强大的Android IDE了。然后,你新建了一个项目,接着你视线中会
出现: 这个东西,他会一直在转个不停,而且可能很卡,
可能N多分钟过去了,你还没进入到新建的项目中,然后你就开始
疯狂吐槽了,什么垃圾编译器,新建个项目都要跑这么久,还不如用回Eclipse...
然而AS中的Gradle构建工具表示很无奈,卡顿的主要原因如下:
既然知道了问题,那么接下来从各个方面来优化Gradle构建的速度。
标准配置:CPU i5以上,内存 至少8G,硬盘 必须固态SSD
附:相同配置的电脑Ubuntu系统上使用AS比Windows流畅一些,亲测~
上面也说了,Gradle默认会到jcenter下载项目依赖的库,国外下载速度会很慢,
或者根本没网速,如果你没代理的话,这里的话可以公司搭建本地maven仓库,
库都下到这个Maven仓库,项目在添加上这个仓库的地址,当然配置是比较繁琐的。
如果就那么几个人开发的话,没什么太大的必要去搞,可以直接使用阿里提供的
Maven仓库,在项目根目录下的build.gradle中添加仓库地址即可:
maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
相信经常Google查学习资料的童鞋都有SS这样的代理工具,既然jcenter是国外
的,自然可以通过配置SS来加快下载速度咯。打开AS的Setting,勾选输入下述
内容:
SS开启PAC模式代理即可。
假如你通过上述的套路已经把相应的库下载到了本地,你就可以开启离线编译模式了,
如果某个依赖在本地不存在的话,是会编译出错的!直接打开Setting,勾选Offline,
选择本地的.gradle文件夹即可。
也可以命令行走一波:
./gradlew --offline build
前面的话是下载库优化的,接着是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=true
同样,也可以为AS分配更多的内存,打开AS的安装目录下的bin目录,找到
文件,打开修改下这两个:
比如改成:-Xms512m -Xmx2048m ,然后重启下AS即可。
有些小伙伴在build.gradle添加依赖库的时候喜欢写成下面这种版本号,
compile "com.github.bumptech.glide:glide:3.+"
初衷是好的:每次都从仓库中获取最新的库,自动升级,但是也意味着
如果新版接口改了会导致编译失败的问题,而且Gradle回去仓库中试图
拉取最新版本,网络不好时,也会拖慢Gradle的构建速度,所以还是建
议写死依赖库的版本号。例如:
compile "com.github.bumptech.glide:glide:3.7.0"
这点不算优化,只是个人偏好的一种方式,比如你在gayhub上clone了
一个Demo,如果你直接用AS打开的话,那么你有N多分钟不用做事了,
就卡在编译界面那里,我们可以直接在命令行进行编译,进入项目
目录右键,git bash,键入下述指令进行编译:
./gradlew build
Gradle在干什么,一目了然~
暂时想到的就这些,如果后面get了什么新姿势再来补充吧,如果你知道
更多Gradle优化的技巧欢迎告知,万分感激~
参考文献: