Libgdx使用Gradle构建速度慢的问题

26 4月

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中修改,比如


或者创建gradle-wrapper.properties文件


当然具体的替代网址就随意了,也可以使用自建服务器。

Gradle Repositories

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

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

用以下语句替换mavenCentral()就可以了。


可以使用gradlew tasks来检测依赖是否下载成功。

参考资料

Wrapper
开源中国 Maven 库使用帮助

发表评论

电子邮件地址不会被公开。