在Ubuntu上用Jenkins搭建Android构建环境

目的

最近将Jenkins构建服务器逐步迁移到公网服务器上了,记录一下过程。理想情况是能用一台Ubuntu构建SpringBoot/Vue/Android/iOS各类应用,但iOS估计有难度。

目标:在Ubuntu上搭建Android应用构建环境,方便自动打包和发包,做到自动化运维。

前提

  • 安装JDK 11,添加环境变量JAVA_HOME
  • 安装Gradle 8,添加环境变量GRADLE_HOME和GRADLE_USER_HOME

安装

  • 下载Android SDK: http://tools.android-studio.org/index.php/sdk,解压到/opt/Android/SDK
  • 下载cmdline-tools,将它解压到/opt/Android/SDK/cmdline-tools/latest下
  • 配置环境变量
export ANDROID_HOME=/opt/Android/SDK
export PATH=${ANDROID_HOME}/cmdline-tools/latest/bin:$PATH
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools
  • 安装android 构建工具和API库
# 查看版本
 ./sdkmanager --list
# 安装想要的SDK版本
 ./sdkmanager --install "build-tools;30.0.3"
 ./sdkmanager --install "platforms;android-31" 
  • 创建Jenkin job,采用shell方式
    脚本示例:
. /etc/profile
./gradlew clean assembleRelease
time=$(date "+%Y%m%d-%H%M%S")
mv ./cms/build/outputs/apk/release/cms-release.apk /home/www/release/cms-release-${time}.apk

scp -P $ssh_port $apk_dir/*.apk ${ssh_user}@${server}:${remote_dir}/${apk_name}
if [ $? -eq 0 ];then
        echo "Transfered the apk successfully."
    else
        echo -e '\033[31m[ error ] Failed to transfer the apk file!\033[0m' && exit 1
fi
sleep 2   

其它命令

android list sdk --all ## 列出可用的SDK

参考文档

https://blog.csdn.net/wc1695040842/article/details/102230401

猜你喜欢

转载自blog.csdn.net/jgku/article/details/129660037