使用 Jenkins 构建 Android 应用

本文介绍了在 Linux 上配置 Jenkins 构建 Android 应用的方法。下面的说明中,假定已安装 Jenkins,并具有 root 权限。

1. 下载并配置 Android SDK

1.1. 下载 Android SDK

在本文的示例中,会把 Android SDK 下载到 /opt/android-sdk 目录,可以根据需要修改。首先在 /opt 下建立 android-sdk 目录并进入:

mkdir /opt/android-sdk
cd /opt/android-sdk/

由于 Android SDK 版本一直在更新,需要从官方页面获取最新 Linux Android SDK 的下载链接,如图1所示。

图1

图1

在 Get just the command line tools 下 Linux 一栏中,右键点击链接 sdk-tools-linux-xxxxxxx.zip,复制下载链接。把它下载到 /opt/android-sdk 目录下,解压后删除:

wget https://dl.google.com/android/repository/sdk-tools-linux-xxxxxxx.zip
unzip sdk-tools-linux-xxxxxxx.zip
rm sdk-tools-linux-xxxxxxx.zip

1.2. 配置 ANDROID_HOME 和 PATH 环境变量

接下来配置 ANDROID_HOMEPATH 环境变量,编辑 .bashrc:

nano ~/.bashrc

在其中加入以下两行,如果上一步没有使用 /opt/android-sdk 的路径,注意将其修改为实际安装路径:

export ANDROID_HOME="/opt/android-sdk"
export PATH="$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH"

然后执行:

source ~/.bashrc

1.3. 更新 Android SDK

执行如下命令下载并更新 Android SDK,同意 License 后可能会卡住一段时间,请耐心等待:

android update sdk --no-ui

然后设置 /opt/android-sdk 的权限,使在 Jenkins 上运行的 Gradle 能够自动安装和更新 Android SDK 所需的组件:

chmod -R 755 /opt/android-sdk

2. 配置 Jenkins

2.1. 安装 Gradle 插件

Android App 使用 Gradle 构建,需要先为 Jenkins 安装 Gradle 插件。当前 Jenkins 的推荐配置会默认安装。

2.2. 配置 Jenkins

在 Manage Jenkins / Configure System / Global properties 下勾选 Environment variables 一项,加入名为 ANDROID_HOME 的环境变量,其值为之前下载 ANDROID SDK 的路径,即 /opt/android-sdk-linux,如图2:

图2

图2

2.3. 配置 Android App 项目

新建一个 Freestyle Project,如图3:

图3

图3

选择代码管理,如图4:

图4

图4

在 Build 下点击 Add build step,选择 Invoke Gradle Script。在出现的新选项中,根据实际需要选择是使用指定版本的 Gradle(Invoke Gradle)还是使用 Gradle Wrapper(Use Gradle Wrapper)。之后在 Tasks 一栏输入需要执行的 Gradle Task,比如 clean build,如图5:

图5

图5

最后,在 Post-build Actions 下点击 Add post-build action,选择 Archive the artifacts,在 Files to archive 一栏输入 **/*.apk,如图6:

图6

图6

3. 开始构建

配置完成后,点击左侧边栏的 Build Now 开始构建。构建成功后,可以在项目首页看到输出,如图7:

图7

图7