Gradlle Gradle for Android 学习笔记(二) Gradle Wrapper 入门

1. Gradle Wrapper 入门

与其他的工具相同,gradle 版本也是不断升级和发展的, 那么如何做到向后兼容呢,有Gralde Wrapper就足够了,并能确保构建是可重复的。

在上一篇中我们安装好了 gralde工具,那么下面 我们就一边动手一边学习 。

1.1获取gralde wrapper

创建一个文件夹

mkdir gradledemo
cd gradledemo

在Gradle 中最重要的两个概念就是项目和任务。每一次构建都包括至少一个项目,每一个项目又包括一个或多个任务。那么如何获取 Gradle Wrapper呢?
我们先来看看 gradle 有哪些可用的任务

[somebody@localhost gradledemo]$ gradle tasks
:tasks
————————————————————
All tasks runnable from root project
————————————————————
Build Setup tasks
————————————————————
init - Initializes a new Gradle build. [incubating]
wrapper - Generates Gradle wrapper files. [incubating]
Help tasks
——————————————————
buildEnvironment - Displays all buildscript dependencies declared in root project ‘gra’.
components - Displays the components produced by root project ‘gra’. [incubating]
dependencies - Displays all dependencies declared in root project ‘gra’.
dependencyInsight - Displays the insight into a specific dependency in root project ‘gra’.
help - Displays a help message.
model - Displays the configuration model of root project ‘gra’. [incubating]
projects - Displays the sub-projects of root project ‘gra’.
properties - Displays the properties of root project ‘gra’.
tasks - Displays the tasks runnable from root project ‘gra’.
To see all tasks and more detail, run gradle tasks –all
To see more detail about a task, run gradle help –task
BUILD SUCCESSFUL
Total time: 2.43 secs

从上面我们可以看出 wrapper 是 gradle 的任务之一,我们 使用

[somebody@localhost gradledemo]$ gradle wrapper

来获取 gradle wrapper。 在获取之前我们可以创建一个如下的build.gradle 文件

task wrapper(type:Wrapper) {
gradleVersion = ‘2.14’
}

你也可以不创建build.gradle 来运行gradle任务,因为gradle默认包含了这个任务。你也可以将gradle版本号作为 –gradle-version 参数传入:

[somebody@localhost gradledemo]$ gradle wrapper –gradle-version 2.14

命令执完后我们来看看gradledemo目录下多了哪些变化

可以看到 Gradle Wrapper 分为三部分
- Windows 上的batch 文件,Linux 和MacOS 上的shell脚本
- batch文件和 shell脚本需要用到的jar包
- 一个properties 文件

gradle-wrapper.properties 包含了参数配置,并决定使用哪一个gradle版本

#Fri Nov 25 23:26:40 CST 2016
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https://downloads.gradle.org/distributions/gradle-2.14-bin.zip

如果你想使用内部分发的自定义Gradle版本,那么可以修改URL 路径。

1.2 使用 Gradle Wrapper 运行基本构建任务

运行Gradle Wrapper 和直接运行 gradle 没有什么不同, Gradle Wrapper 只是向后兼容版, 在Windows 中运行gradlew.bat ,在 Linux 和Mac上运行 gradlew 脚本即可。

[somebody@localhost gradledemo]$ gradlew -v

可以来检查你的gradle wrapper 是否可用,有时需要时间很长需要耐心等待。如果报出下面错误

Unzipping /home/wonbin/.gradle/wrapper/dists/gradle-2.14-bin/76oc0mnc3ieqtsukq90mp0rxk/gradle-2.14-bin.zip to /home/wonbin/.gradle/wrapper/dists/gradle-2.14-bin/76oc0mnc3ieqtsukq90mp0rxk
Exception in thread “main” java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.(ZipFile.java:220)
at java.util.zip.ZipFile.(ZipFile.java:150)
at java.util.zip.ZipFile.(ZipFile.java:164)
at org.gradle.wrapper.Install.unzip(Install.java:214)
at org.gradle.wrapper.Install.access 600(Install.java:27)atorg.gradle.wrapper.Install 1.call(Install.java:74)
at org.gradle.wrapper.Install$1.call(Install.java:48)
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
at org.gradle.wrapper.Install.createDist(Install.java:48)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:128)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)

可以试试将 gradle/wrapper/gradle-wrapper.properties 中的distributionUrl 改为https://downloads.gradle.org/distributions/gradle-2.14-bin.zip

我的问题是这样解决的,希望对你也有帮助\^_^

简单吧 下面我们不用AS,就来徒手写个 android项目并用gradle 构建试试 嗯哼~ 厉害了word哥

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值