Android Studio 关于Gradle方面的心得
一,前言
安卓开发从eclipse时代,切换到Studio,印象最深,折腾最久的是Gradle方面的东西,由于咱们网络特殊性,偶尔会导致Studio里面的Gradle工作相当不正常,慢卡,报错,一路总结经验,写一篇博客记录一下。
二,Android Studio 中设置Gradle
Studio菜单,File-》Setting-》Gradle,设置里面,Use Gradle from 选项里面一定要选择:'gradle-wrapper.properties' files,另外一个选项使用的是location本地的Gradle,很多博文都说这样设置,但是没具体说原因,原因是这样的,gradle负责构建项目,它本身也是不断在升级,版本不断在叠加,这样就有一个兼容问题,比如,一个项目用的gradle 4.6 构建的,如果换一台机器,本地环境是 gradle 5.4,那这里面就会有兼容问题,各种报错...所以,Gradle 提供了一个方案 Wrapper 包装,每个项目把自己需要的gradle版本写在项目目录里,用的时候去下载对应的版本就行了,所以,我们的Studio 需要设置成 gradle-wrapper.properties 这样的选项,不使用机器本地的Gradle版本,而是项目需要什么版本就下什么版本。
三,Gradle下载
通过以上设置,我们加载项目的时候studio会根据项目需要下载不同的gradle,第二个问题来了,由于gradle下载是从官网下载的,网速不给力的话,能下很长时间,可以这样操作:studio下载gradle的时候,会吧下载链接显示在控制台上,链接复制,打开迅雷或其他下载软件,下载,亲测迅雷是比较快的。下载完成之后,打开本地gradle用来缓存文件的目录,一般是 C:\Users\用户名\.gradle\wrapper\dists,然后找到相应的gradle版本的文件夹,打开,会有一个随机字符的文件夹,打开,放入下载好的zip文件,不用解压,然后,重新构建项目,就会发现,studio跳过了gradle下载过程。
四,Gradle构建项目
然后就到了gradle根据依赖配置,进行构建项目了,由于网络原因,jcenter,google这些代码仓库,速度相当的慢,这里可以使用阿里的代码仓库,在根项目的gradle文件里添加项目仓库,重新构建就行了。如下所示:
allprojects{
repositories{
maven{ url'http://maven.aliyun.com/nexus/content/groups/public/'}
maven{ url"https://jitpack.io" }
google()
jcenter()
}
}