在Ubuntu上用Jenkins搭建Android构建环境
2023-09-11 14:21:23 时间
目的
最近将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
相关文章
- Android系统自带的android.util.Base64的实现源码
- Android RecyclerView (十)组件化封装
- android:Cordova Android, hello Cordova ,PhoneGap android
- Android 读取csv格式数据文件
- Android后台杀死系列之二:ActivityManagerService与App现场恢复机制
- Android菜单详解(一)——理解android中的Menu
- Android USB转串口开发(hoho.android.usbserial串口库)
- Android开发工程师文集-相关控件的讲解,五大布局
- android系统体系结构
- Android studio的错误:radle sync failed: Cause: failed to find target android-21 :
- 《Android 应用测试指南》——第2章,第2.5节创建一个测试用例
- 《Android 应用测试指南》——第2章,第2.6节测试执行
- 《Android游戏开发详解》一2.7 构建一个简单的计数程序
- Android开发之旅:android架构
- 【VLC-Android】vlc-android简例
- android UI进阶之实现listview的下拉加载
- 了解 Android Kotlin 中 DataStore 的基本概念以及为什么应该停止在 Android 中使用 SharedPreferences
- Android 开发 res里面的drawable(ldpi、mdpi、hdpi、xhdpi、xxhdpi)
- Android图形显示系统——上层显示1:界面绘制大纲---android的GUI系统
- Jenkins持续集成实战之解决windows搭建jenkins执行selenium无法启动浏览器
- 解决Android SDK Manager下载问题和android studio每次启动都要在fetching Android sdk compoment information
- 使用jenkins+Emma统计Android客户端单元测试覆盖率
- Android bluetooth介绍(两): android 蓝牙源架构和uart 至rfcomm过程
- 仿照Android的池化技术
- Android Studio Error:Could not find com.android.tools.build:gradle