操作环境
- 本地环境 MAC
- 远程环境 Linux
登录远程Linux
- 使用mac自带的terminal ssh登录远程无服务
- 使用工具Iterm2 或者 Termius (windows可以选择使用xshell),这里我选择使用Termius,可以找破解版的
-
使用Termius登录成功后
Jenkins环境搭建
Linux环境配置
- 更新软件源
sudo apt-get update
安装jdk
- 查看java版本
-java -version
根据你的Android编译时所需要的jdk版本,安装对应的版本;这里安装jdk11,去oracle官方平台下载 jdk11
使用SFTP将文件从Mac拷贝到远程Linux中
解压到相应的目录
配置环境变量
# 编辑环境变量
vim /etc/profile
#在打开的文件中添加如下配置
JAVA_HOME=/usr/local/jdk-11.0.14
CLASSPATH=.:$JAVA_HOME/lib
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH PATH
#使环境变量生效
source /etc/profile
安装Jenkins 参考连接
#1. 我们将存储库密钥添加到系统。
wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
#2. 添加密钥后,系统将返回OK 。 接下来,我们将Debian包存储库地址附加到服务器的sources.list
echo deb http://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list
#3. 运行update ,以便apt-get将使用新的存储库
sudo apt-get update
#4. 最后,我们将安装Jenkins及其依赖项,包括Java
sudo apt-get install -y jenkins
启动Jenkins服务
#使用systemctl我们将启动Jenkins
sudo systemctl start jenkins
#由于systemctl不显示输出,我们将使用其status命令来验证它是否成功启动
sudo systemctl status jenkins
#重启Jenkins
sudo systemctl restart jenkins
设置Jenkins
#登录Jenkins
#使用服务器域名或IP地址访问Jenkins的默认端口8080
http://ip_address_or_domain_name:8080
#浏览器会显示设置初始密码,地址浏览器上面会显示,如下面的路径
#/var/lib/jenkins/secrets/initialAdminPassword
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
android sdk搭建 参考链接
- android sdk下载
下载地址:http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz
如果是本地下载,需要将下载后的包上传到远程linux - 进入android放置的目录,我这里是(/android/sdk/),解压tar -zxvf android-sdk_r24.4.1-linux.tgz
- 配置sdk环境变量,编辑/etc/profile,添加如下配置
export ANDROID_HOME=/android/android-sdk-linux
export PATH=$PATH:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tool
export PATH=$PATH:${ANDROID_HOME}/cmdline-tools/latest/bin
- 安装sdk
#显示可下载更新的所有资源包
android list sdk --all
- 更新sdk
#根据sdk更新对应的包
ndroid update sdk -u --all --filter 1,2,3,4,5,6,7,8,...
如果你需要的sdk和buildtools版本没有在列表中,请下载命令行工具
下载sdk命令行工具 点击下载
-
将下载的压缩包解压到android/android-sdk-linux/command-tools/latest
配置jenkins
常见错误
- 打包时报错
> Failed to install the following Android SDK packages as some licences have not been accepted.
build-tools;30.0.2 Android SDK Build-Tools 30.0.2
platforms;android-31 Android SDK Platform 31
To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.
#解决办法
sdkmanager配置
> Failed to install the following SDK components:
build-tools;30.0.2 Android SDK Build-Tools 30.0.2
platforms;android-31 Android SDK Platform 31
The SDK directory is not writable (/android/android-sdk-linux)
#解决办法
sdkmanager "build-tools;30.0.2"
sdkmanager "platforms;android-31"
- 二维码图片无法显示
[description-setter] Could not determine description.
#解决办法,set build description 正则表达式的参数需要和控制台日志输出的变量配一致
如下面的appQRCodeURL=([a-zA-z]+://[^\s]*)需要匹配控制台输出的日志