使用gradle进行构建打包操作
由于我们部署的jenkins执行的Android构建操作就是由Gradle来实现,所以以下是我们在使用gradle在执行构建操作时,gradle的构建原理
一.Gradle的安装和配置
1. 我们要从Gradle的官网,去下载gradle,值得高兴的是,另外目前最新的gradle版本是2.1,下载完之后解压到你指定的文件夹中(我的在D:\Software)
2. 打开环境变量(别告诉我你找不到),新建一个系统变量:变量名GRADLE_HOME,变量值D:\Software\gradle-1.12(gradle所在目录)
3. 在系统变量PATH路径中配置,目的是在DOS命令行中任何的目录下都可以访问到gradle
经过上面的3个步骤,我们已经配置好gradle了,打开DOS命令行(快捷键window+r -->cmd)输入:gradle,看到下图所示即安装成功
二.Gradle的task
task是gralde所能执行的最小单位,相当于Java中一个函数,task是需要用脚本语言groovy来写的,不多说,按照惯例先来一个Hello World。
1, 在任意目录下(我的目录:D:\Software\gradle-1.12\gradletest\hellogradle)新建文件build.gradle,将下面的代码粘贴上去.
view plain copy
2. 进入此目录,输入:gradle hello
我们可以看到在上图中打印出了Hello World,一般在项目中,是不需要我们来写task的(是不是很兴奋?),这样又会带来一个新的问题,怎么找到Android自带的那些写好的task呢?
如果你想查看android中已经写好的task,我们只需要在build.gradle文件中定义如下代码
- buildscript {
- repositories {
- mavenCentral()
- }
- dependencies {
- classpath ‘com.android.tools.build:gradle:0.12.2’
- }
- }
- apply plugin: ‘com.android.application’
然后我们就可以在改目录下查看android提供的task了,打开命令行切到指定目录,输入:gradle tasks
列出各类task供我们使用,比如构建时用到的task,我们在android studio中运行项目的时候也可以看到这些task的。
三.利用Gradle编译安卓项目并打包成apk文件
1. 创建一个gradle能够识别的android项目目录结构,可以鼠标右键新建,也可以通过如下命令去创建
- mkdir src\main\java\com
- echo > src\main\AndroidManifest.xml
2. 打开AndroidMainfest.xml,将一下内容复制进去
view plain copy
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com" />
3.以上2步就完成了一个简单项目的配置,下面我们需要配置build.gradle文件
view plain copy
4.在build.gradle文件所在目录输入:gradle assembleDebug 命令,就可以在build\outputs\apk目录下可以找到生成的apk文件
四.gradle wrapper的使用
gradle wrapper意为gradle包装器,用于封装gradle的下载与安装代码。要使用wrapper,只需要在项目的根目录下(也就是build.gradle所在的目录)调用gradle wrapper,就能生成以下四个文件。
view plain copy
对于电脑里没有安装gradle的用户,可以直接通过执行gradlew,来调用gradle对应的task。比如安卓打包的命令可以变成gradlew assembleDebug,其实在执行gradlew命令时,gradle-wrapper.jar会自动下载安装gradle,安装目录在gradle-wrapper.properties里配置。然后使用安装后的gradle来执行指定的task。