在本文中,Jenkins将被设置为构建Android应用程序。Jenkins将需要已经安装,所以如果它尚未安装,请按照步骤(https://digitalocean.com/community/articles/how-to-install-and-use-jenkins-on-ubuntu-12-04)首先。对于本文,我假定您的项目使用版本控制,如Git或Subversion。我将主要谈论名为Gradle的新构建系统,但这篇文章也可以用来设置一个Ant构建。
安装所需的软件
首先,应该安装 Android SDK。 要找到下载位置,请访问 Android SDK 下载页面。 然后单击下载其他平台,并复制 Linux 版本的链接(仅限 SDK 工具)。
复制链接后,切换到 SSH 会话 CD 到 /opt 并下载 Android SDK:
cd /opt wget
在写作时,应该执行以下命令:
wget http://dl.google.com/android/android-sdk_r22.3-linux.tgz
然后解密文件:
tar zxvf <最近下载的文件的文件名>
您现在可以删除您刚刚下载的文件:
rm <最近下载的文件的文件名>
现在需要设置一些环境变量。 编辑 /etc/profile.d/android.sh (nano /etc/profile.d/android.sh
) 并添加以下内容:
1export ANDROID_HOME="/opt/android-sdk-linux"
2export PATH="$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH"
然后重新加载文件:
源 /etc/profile
如果你要使用Git,也可以安装Git:
sudo apt-get install git-core
配置 Android SDK
要构建您的项目,Android SDK 将需要几个包。 首先,更新 SDK 本身(需要接受几个许可证):
Android 更新 sdk --no-ui
這將安裝所有 Android 版本,所以它將持續很長時間. 閱讀更多,如果你不想安裝所有套件。
如果您只想安装特定部件,则可以在 This StackOverflow 问题中找到有关更新 SDK 的更多信息。
您最可能需要的套件是通过以下命令安装的(用最新的 Android SDK 版本代替19
在android-19
:Android更新 sdk -u -filter platform-tools,android-19
但是,这不会安装 Gradle 所需的构建工具. 为此,执行以下命令:
1android list sdk --all
在此列表中,找到第一个名为 Android SDK Build-tools 的项目,版本 xx.xx.xx. 记住在项目前列出的数字,然后执行以下操作:
android update sdk -u --all --filter
对于 Android 支持存储库和 Android 支持库,也可以这样做。
如果您知道您的项目将使用特定版本的构建工具,请在列表中寻找该项目,它可以在 build.gradle 文件中作为 buildToolsVersion 看到:
1android {
2 buildToolsVersion "18.1.1"
3 compileSdkVersion 18
4}
还安装适当的平台版本,在 build.gradle 中可以看到 compileSdkVersion。
现在,为了让 Jenkins 能够访问 Android SDK,请执行以下操作:
1sudo chmod -R 755 /opt/android-sdk-linux
此外,如果您使用的是 64 位操作系统,请安装 32 位库:
1sudo apt-get install ia32-libs
然后重新启动您的 Droplet:
sudo shutdown -r 现在
配置您的 Android 项目
如果你的项目仍然是由Eclipse构建的,则需要创建一个构建脚本。最简单的选择是从Eclipse做这件事,通过去文件 -> 导出,然后选择Android -> 生成Gradle构建文件。
如果你不想使用Gradle,Apache Ant仍然可以使用。如果你不知道这是什么或Gradle项目出口失败时,你可以跳过这个步骤。唯一需要的步骤是在安装了Android SDK的PC上执行以下命令:
Android更新项目 -p。
创建Jenkins
Jenkins 也需要配置. 首先,需要安装 JDK. 要做到这一点,请访问管理 Jenkins -> 配置系统. 然后找到 JDK,然后点击添加 JDK. 您需要有一个 Oracle 帐户。 要输入您的身份证件,请点击请在 JDK 部分输入您的用户名/密码。 如果您没有一个,请按照下一个屏幕上的链接。 输入后,请返回 JDK 配置。 输入一个名称 – 我建议将其命名为 Java 版本。
如果您正在使用 Ant,请在 Ant 部分执行相同的步骤。
现在去管理Jenkins -> 管理插件 -> 可用. 检查以下插件,然后单击安装而不重新启动:
- Gradle 插件(不需要使用 Ant)
- Git 插件(如果使用 Git)
- Android 模拟器插件(如果想要使用模拟器)
这将自动安装一些其他插件. 如果您要使用Gradle,请执行与JDK相同的步骤,以自动安装Gradle。在写作时,您将需要Gradle 0.9。如果您正在使用Gradle包装,则无需使用Gradle,即您在项目中有一个gradew文件,该文件被检查到源控制。
设置工作
现在,该工作可以设置。 点击新工作,给它一个名字,然后选择构建一个自由风格的软件项目。 然后点击OK。 在源代码管理部分中,选择你的项目正在使用的版本控制系统,并提供信息。
And for Ant these:
这将构建项目,但 APK 文件尚未保存. 要配置此,请添加名为 Archive the Artifacts 的后构建操作。
点击保存,建筑可以开始! 点击现在构建。 JDK 将被安装,并且在一段时间后,构建将完成! 在项目页面上,有一个名为最后成功的文物的标题。
还有什么?
第一个 Android 项目已经建立在您的 Jenkins 实例上. 恭喜!
Jenkins 实例可以拥有超过 1 个工作,所以创建更多并开发更多 Android 应用!
Gradle 也可以自动签署应用程序,但这些敏感信息应该存储在 build.gradle 文件中,这不建议。
1buildscript {
2 repositories {
3 mavenCentral()
4 }
5 dependencies {
6 classpath 'com.android.tools.build:gradle:0.7.+'
7 }
8}
9apply plugin: 'android'
10
11repositories {
12 mavenCentral()
13 flatDir {
14 dirs 'libs'
15 }
16}
17
18android {
19 compileSdkVersion 19
20 buildToolsVersion '19.0.1'
21
22 signingConfigs {
23 release {
24 storeFile file("keystores/release.keystore")
25 storePassword "your-keystore-password"
26 keyAlias "your-alias"
27 keyPassword "your-alias-password"
28 }
29 }
30
31 buildTypes {
32 release {
33 zipAlign true
34 signingConfig signingConfigs.release
35 }
36 debug {
37 zipAlign true
38 }
39 }
40}
41
42dependencies {
43 compile 'com.android.support:appcompat-v7:19.0.0'
44 compile 'com.android.support:support-v4:19.0.0'
45}