Gradle教程第一章:1.4构建与打包
Posted 安卓开发资源分享
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gradle教程第一章:1.4构建与打包相关的知识,希望对你有一定的参考价值。
目录
1.4 执行构建与封包
1.4.1添加到项目的包装
1.4.2配置
1.4.3认证下载工具分布
1.4.4下载工具分布验证
1.4.5UNIX文件的授权
大多数工具在使用之前需要在您的计算机上安装。如果安装是容易的,你可能认为这是好的。它的构建可以减小用户的负担。同样重要的是,用户安装的工具版本是否正确?如果他们安装的是旧版本,是否也能运行?
Gradle Wrapper(以下简称“封包”)解决这些问题,开始建立preferredway工程
如果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。更好的使用,保证用户使用的版本的项目,建立设计工作。当然,这是持续集成服务器(即服务器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成功0s。1可操作的任务: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文件,但如果你想利用新功能的工具封包,那么你就需要重新封装文件。
如果你运行Gradlegradlew进行封包检查,如封包可以用工具来分布。如果是这样的话,它代表的项目所有的参数传递给这个原本分布命令gradlew的命令。如果它没有找到一个项目分布,它会先下载项目。
当你配置封包的任务,你可以指定你想要使用的工具版本。这个gradlew命令将从工具库下载适当的工具。或者,您可以指定的网址下载工具分布。这个gradlew命令将使用此URL下载分并布局。如果你指定的不是项目版本和下载的URL,gradlew命令将下载一个versionof Gradle来封装项目文件。
在介绍如何配置封包,封包在API生成文档。
如果你不希望在你的项目中下载gradlew,只需添加gradledistribution压缩到你的版本并控制在你的封包配置中指定的位置。相对URL的支持,你可以指定一个相对位置分布文件gradle-wrapper.properties文件
如果你的项目要使用封包,在机器上安装任何现有的项目的布局将被忽略掉。
项目封包可以使用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
嵌入的凭证distributionurl在gradle/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”为更多的信息讲解如何配置封包并使用代理。
。
项目封包允许通过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
封装的任务添加适当的文件权限来允许执行gradlew*nix命令保存此文件的权限。”。暂时还不知道其他的版本控制系统的处理模式。它们应该总是执行”SH gradlew“。
以上是关于Gradle教程第一章:1.4构建与打包的主要内容,如果未能解决你的问题,请参考以下文章