Libgdx的使用(15)——使用Gradle构建速度慢的问题

来源:互联网 发布:西安丝路软件 编辑:程序博客网 时间:2024/06/05 10:47
Libgdx正式推出1.0版本,其中最重要的一个变化就是正式启用Gradle模板支持。
填写必要信息后会自动生成Gradle配置文件,通过Gradle可以创建Idea和Eclipse的项目文件,更可以快速升级和添加依赖。
但是很多人再使用的时候,特别是第一次接触Gradle,会遇到很多问题,最关键的一个就是速度慢。本文会介绍这个问题的原因和解决方法。

Gradle Wrapper
Gradle的Wrapper很多文章翻译为包装器。包装器的出现是基于这样的需求,即让没有装Gradle的机器上也能正常的构建你的项目。
它和Groovy里的Grape类似。如果目标机器上没有Gradle,包装器将先下载安装合适版本的Gradle,然后再运行相应的任务。如果有,但是版本不同,它也可以保证构建工具本身的版本相同。
出发点是好的,但是现实确实复杂的。因为默认下载的地址http://services.gradle.org/在中国访问速度很慢很慢,而且需要下载的文件大小还很大,一般有40+M,基本上是不能下载成功的。

对于这个问题有两种解决方法:

使用本地Gradle
修改下载地址
使用本地Gradle
这种方法实质上是不使用包装器,而是通过各种方法安装Gradle,然后直接执行。注意,执行的时候不要调用gradlew [command]而是使用gradle [command] 。
这种方法简单,但是不能享受到包装器的优势。

修改下载地址
访问Gradle Distributions的速度慢,我们可以使用一个快的。
Wrapper任务有一个名为distributionUrl的属性,直接修改它指定新的下载地址就行了。
可以在build.gradle中修改,比如
task prepareWrapper(type: Wrapper) {
   gradleVersion = '1.12'
   distributionUrl = 'alternative.location'
}
或者创建gradle-wrapper.properties文件
distributionUrl=http://some.location.net/gradle-distributions/gradle-1.12-bin.zip
当然具体的替代网址就随意了,也可以使用自建服务器。

Gradle Repositories
Gradle中的依赖会根据配置自动解析,而Libgdx Gradle模板使用了mavenCentral(),这是maven的中央仓库,速度实在一般,使用镜像替换之。

Oschina提供了镜像,地址为http://maven.oschina.net/content/groups/public/。

用以下语句替换mavenCentral()就可以了。
maven {
  url 'http://maven.oschina.net/content/groups/public/'
}
可以使用gradlew tasks来检测依赖是否下载成功。


参考资料
Wrapper
开源中国 Maven 库使用帮助
1 0
原创粉丝点击