夏眠鱼

Feb 23, 2018

Android 自动化构建平台的维护

前言

继上一篇文章「搭建Android自动化构建平台」的发表到现在已经过去一年,在过去一年中,随着 Android Studio 和 Android SDK 的升级和更新,Android 自动化构建平台也需要同步升级,主要升级的内容是 Gradle 和 Android SDK。

Gradle

通过本地电脑,从官网下载指定版本的压缩包,如:gradle-4.1-all.zip。

将压缩包上传到 Jenkins 所在的主机:

1
$ scp gradle-4.1-all.zip ubuntu@192.168.1.253

解压压缩包到指定目录:

1
$ sudo unzip gradle-4.1-all.zip -d /opt/gradle/

接着配置 Gradle 环境:

进入配置文件

1
$ sudo vim /etc/profile

更新以下内容并保存:

1
2
export GRADLE_HOME=/opt/gradle/gradle-4.1
export PATH=$GRADLE_HOME/bin:$PATH

让上面设置的环境变量立即生效:

1
$ source /etc/profile

检查升级是否成功:

1
2
3
4
5
6
7
8
9
10
11
12
$ gradle -v
------------------------------------------------------------
Gradle 4.1
------------------------------------------------------------

Build time: 2017-08-07 14:38:48 UTC
Revision: 941559e020f6c357ebb08d5c67acdb858a3defc2

Groovy: 2.4.11
Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM: 1.8.0_121 (Oracle Corporation 25.121-b13)
OS: Linux 3.5.0-47-generic amd64

Android SDK

Android SDK 的升级主要是更新 build-toolsplatforms 目录下的内容,我们通过命令行的方式完成它们的更新。如果你对 Android SDK 目录不了解,点击这里补习一下。

列出 SDK 所有信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
$ android list sdk --all --extended | more
...
id: 2 or "platform-tools"
Type: PlatformTool
Desc: Android SDK Platform-tools, revision 27.0.1
----------
id: 3 or "build-tools-27.0.3"
Type: BuildTool
Desc: Android SDK Build-tools, revision 27.0.3
----------
id: 4 or "build-tools-27.0.2"
Type: BuildTool
Desc: Android SDK Build-tools, revision 27.0.2
----------
id: 5 or "build-tools-27.0.1"
Type: BuildTool
Desc: Android SDK Build-tools, revision 27.0.1
...
id: 42 or "android-27"
Type: Platform
Desc: Android SDK Platform 27
Revision 1
----------
id: 43 or "android-26"
Type: Platform
Desc: Android SDK Platform 26
Revision 2
----------
id: 44 or "android-25"
Type: Platform
Desc: Android SDK Platform 25
Revision 3
----------
id: 45 or "android-24"
Type: Platform
Desc: Android SDK Platform 24
Revision 2
...

我们只需要下载 Type 为 BuildTool 和 Platform 的选项即可,BuildTool 对应 build-tools,Platform 对应 platforms。比如 build-tools 中缺少 27.0.1,platforms 中缺少 27,我们可执行以下命令:

1
$ android update sdk -u -a -t build-tools-27.0.1,android-27

命令讲解:
-u: –no-ui
-a: –all
-t: –filter

参考

No more handles [gtk_init_check() failed]
How to install Android SDK Build Tools on the command line

OLDER > < NEWER