Gradle教程第一章:1.4构建与打包

Posted 安卓开发资源分享

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gradle教程第一章:1.4构建与打包相关的知识,希望对你有一定的参考价值。


Gradle教程第一章:1.4构建与打包



1.4
Gradle封包

目录

1.4 执行构建与封包

1.4.1添加到项目的包装

1.4.2配置

1.4.3认证下载工具分布

1.4.4下载工具分布验证

1.4.5UNIX文件的授权

大多数工具在使用之前需要在您的计算机上安装。如果安装是容易的,你可能认为这是好的。它构建可以减小用户的负担。同样重要的是,用户安装的工具版本是否正确?如果他们安装的是旧版本,是否也能运行

Gradle Wrapper(以下简称“封包”)解决这些问题,开始建立preferredway工程


Gradle教程第一章:1.4构建与打包


1.4执行构建与封包

如果Gradle项目完成封包(我们推荐的项目这样处理),你可以使用下面的一个执行命令从项目根目录建立:

· 

./gradlew <task>(Unix平台如Linux,Mac OS X)

gradlew <task>(使用gradlew.batbatch文件窗口)


每个封包被绑定到一个特定版本的Gradle,所以当你第一次运行一个命令进行一个指定项目,它会下载相应的工具,用它来执行构建分布。

IDES

当导入Gradle项目通过其封包,IDE可能要求使用Gradle的all'distribution。这是很好的,有助于IDE的构建文件提供代码完成。

这不仅意味着你不需要手动安装工具,但你也一定要使用工具的版本,构建设计。这让你创建会生成一个历史记录。只要使用恰当的语法从上面每一个命令行启动项目,在用户指南中都有详细的介绍。

为了完整起见,并确保你不删除任何重要的文件,这里是一个项目工程构成的封包的文件和目录:

gradlew(Unix shell脚本)

gradlew.bat(Windows批处理文件)

wrapper gradle-wrapper.jar摇篮/ /(wrapperJAR

gradle-wrapper.properties Gradle /包装/(Wrapper特性

如果你想知道哪个项目,分布存储,你会发现他们在你的用户主目录下user_homegradle/wrapper/dists




Gradle教程第一章:1.4构建与打包
1.4.1 添加到项目的封包

你的封包应该签入版本控制。与的项目分配独立的封包,任何人都可以使用它而无需事先安装Gradle。更好的使用,保证用户使用的版本的项目,建立设计工作。当然,这是持续集成服务器(即服务器regularlybuild项目)为不要求服务器配置。

安装包放到你的项目封包下运行。(这个任务是可用的,即使你不把它添加到你的工程)。使用一个指定的Gradle版本在项目中运行--gradle-version这个命令行封包将会默认使用。默认情况下,该封包会使用二进制分布。这是最小的项目分布。一些工具,如android Studio和IntelliJ IDEA,提供额外的上下文信息的时候用全部分布。你可以通过选择不同的工具类型分布--distribution-type你也可以设置URL下载Gradle直接通过项目--gradle-distribution-url。如果没有指定的版本或distributionurl,封包将被配置为使用当前默认的Gradle工具的版本执行任务的。所以如果你运行封包使用2.4的工具执行任务,封包配置将默认版本2.4。

例1.4.1.1。运行任务

输出gradle wrapper --gradle-version 2.0版本

gradle wrapper --gradle-version 2.0版本:wrapperbuild成功0s1可操作的任务:1执行

封包可以进一步自定义添加和配置封包在你构建脚本任务执行它。

例1.4.1.2。包装的任务

build.gradle

task wrapper(type: Wrapper) {    gradleVersion =“2”}

执行此操作后,会在项目目录中找到以下新的或更新的文件(如果使用了包装器任务的默认配置)。

例1.4.1.3。包装器生成的文件

建设布局

simple/  gradlew  gradlew.bat  gradle/wrapper/    gradle-wrapper.jar    gradle-wrapper.properties所有这些文件应该提交你的版本控制系统。这只需做一次。这些文件已被添加到项目中,项目应该加建gradlew的命令。gradlew命令可以确切的来操控Gradle.如果你想切换到一个新的Gradle,你不需要重新运行的版本封包任务。它会自动切换gradle-wrapper.properties文件,但如果你想利用新功能的工具封包,那么你就需要重新封装文件。




Gradle教程第一章:1.4构建与打包
1.4.2 配置

如果你运行Gradlegradlew进行封包检查,如封包可以用工具分布。如果是这样的话,它代表的项目所有的参数传递给这个原本分布命令gradlew命令。如果它没有找到一个项目分布,它会先下载项目

当你配置封包的任务,你可以指定你想要使用的工具版本。这个gradlew命令将从工具库下载适当的工具。或者,您可以指定的网址下载工具分布。这个gradlew命令将使用此URL下载分并布局。如果你指定的不是项目版本和下载的URL,gradlew命令将下载一个versionof Gradle来封装项目文件

在介绍如何配置封包封包在API生成文档。

如果你不希望在你的项目中下载gradlew,只需添加gradledistribution压缩到你的版本控制在你的封包配置中指定的位置。相对URL的支持可以指定一个相对位置分布文件gradle-wrapper.properties文件

如果你的项目要使用封包,在机器上安装任何现有的项目的布局将被忽略掉




Gradle教程第一章:1.4构建与打包
1.4.3 认证下载工具布局

项目封包可以使用HTTP基本认证服务器下载Gradle布局。这使你创建的Gradle布局在服务器上被保护,你可以两个不同的方法取决你的使用情况指定一个用户名和密码:系统直接嵌入在distributionurl系统属性证书优先于嵌入式的distributionurl

使用系统属性可以在做.gradle / gradle.properties在用户的home目录中的文件,或以其他方式后面我们讲会讲到项目属性

安全警告

HTTP基本认证使用HTTPSURL和没有超文本传输协议。使用基本身份验证,用户账户文本形式发送。

例1.4.3.1。使用系统属性指定HTTP基本身份验证信息

gradle.properties

systemProp.gradle.wrapperUser=usernamesystemProp.gradle.wrapperPassword=password

嵌入的凭证distributionurlgradle/wrapper/gradle-wrapper.properties/工程下。请注意,该文件将提交到您的源代码管理系统。distributionurl只应在控制的环境中使用。

例1.4.3.2。指定HTTP基本认证证书distributionurl

gradle-wrapper.properties

distributionUrl=https://username:password@somehost/path/to/gradle-distribution.zip

这个代理可以一起使用并验证身份在后面我们将讲到“通过代理访问Web”为更多的信息讲解如何配置封包并使用代理



Gradle教程第一章:1.4构建与打包
1.4.4下载工具布局验证

项目封包允许通过SHA-256分散验证下载Gradle工具。这大大提高了安全性,有针对性的攻击将会无法下载布局以及拒绝访问。要启用这个功能,你要先一个自己Gradle项目布局使用SHA-256分布。你可以从Linux或Windows andosx SHA-256分布(通过Cygwin)与shasum命令。


例1.4.4.1。生成SHA-256分散


shasum A>256 gradle-2.4-all.zip371cb9fbebbe9880d147f59bab36d61eee122854ef8c9ee1ecf12b82368bcf10 gradle-2.4-all.zip

添加返回的哈希gradle-wrapper.properties使用distributionsha256sum特性


例1.4.4.2。配置SHA-256的校验和验证


gradle-wrapper.properties

distributionSha256Sum=371cb9fbebbe9880d147f59bab36d61eee122854ef8c9ee1ecf12b82368bcf10





1.4.5 UNIX文件的授权

封装的任务添加适当的文件权限允许执行gradlew*nix命令保存此文件的权限。”。暂时还不知道其他的版本控制系统处理模式它们应该总执行”SH gradlew“。











以上是关于Gradle教程第一章:1.4构建与打包的主要内容,如果未能解决你的问题,请参考以下文章

Gradle教程第一章:1.7持续完善

Gradle教程第一章:1.1Gradle命令行使用

Gradle教程第一章:1.5依赖关系

Gradle教程第一章:1.6多项目建立

Gradle教程第一章:安装

Gradle教程第一章:2.0故障排查