Jenkins自动编译Android Studio创建的工程
来源:互联网 发布:淘宝订单清洗期几天 编辑:程序博客网 时间:2024/06/14 16:15
前提
- Jekins服务器所在的Ubuntu上安装下列软件
- Android SDK - 记住版本号,后面需要在Gradle脚本中设置
- Android SDK Build-tools
- Android SDK Platform
- Android Support Library - for eclipse build
- Android Support Repository - for android studio build
- 这里做个约定SDK安装在系统 /home/jenkins/tools/android/sdk 路径下: 以 jenkins 用户身份为 Owner
- Gradle 参考 Ubuntu之安装Gradle
- 增加Gradle编译AS工程需要的环境变量 ANDROID_HOME
sudo -u jenkins -H vim /home/jenkins/.profile
add : export ANDROID_HOME=/home/jenkins/tools/android/sdk - 如果是Ubuntu 64位系统,而因为SDK的工具为32位的,所以需要安装附加库 - 参考 Ubuntu 64位机器上运行32位程序
- 如果使用的是Ubuntu默认安装的OpenJDK,那么编译时候可能会出现找不到 tools.jar 的错误,需要安装完整版的OpenJDK - 参考 Ubuntu默认安装OpenJDK没有tools.jar
- Android SDK - 记住版本号,后面需要在Gradle脚本中设置
Gitlab增加工程
root登录 http://gitlab.zjc.com
组test-group 下建立工程 test-android-studio-project
可以得到此项目的SSH地址:git@gitlab.zjc.com:dev-group/test-android-studio-project.git
使新工程支持 git review
命令
Gitlab上的管理员账户其SSH Key所在的用户为admin账户
$ su - admin$ git clone git@gitlab.zjc.com:dev-group/test-android-studio-project.git$ cd test-android-studio-project/$ vim .gitreview
文件内容为:
[gerrit]host=review.zjc.comport=29418project=test-android-studio-project.git
添加.gitreview到版本库
$ git add .$ git commit . -m 'add .gitreivew file by admin'$ git push origin master$ exit
Gerrit克隆Gitlab上的新工程 test-android-studio-project
Gerrit上的管理员账户其SSH Key所在的用户为admin账户
Gerrit上创建新工程
$ su - admin$ ssh -p 29418 admin@vzjc.com gerrit create-project test-android-studio-project$ exit
Gerrit上新工程变为Gitlab上新工程的克隆库
$ cd /home/gerrit/gerrit/git$ sudo -u gerrit -H rm -fr test-android-studio-project.git$ sudo -u gerrit -H git clone --bare git@gitlab.zjc.com:dev-group/test-android-studio-project.git
修改在Gerrit系统的复制功能配置文件
$ sudo -u gerrit -H vim /home/gerrit/gerrit/etc/replication.config
在文件末尾添加:
[remote "test-android-studio-project"] projects = test-android-studio-project url = git@gitlab.zjc.com:dev-group/test-android-studio-project.git push = +refs/heads/*:refs/heads/* push = +refs/tags/*:refs/tags/* push = +refs/changes/*:refs/changes/* threads = 3
重新启动 Gerrit 服务
$ sudo /etc/init.d/gerrit restart
Jenkins上为新工程创建自动编译任务
用admin账户登录http://jenkins.zjc.com
创建新任务 test-android-studio-project
- Source Code Management : Git
- Repositories -> Repository URL : http://review.zjc.com:8082/p/test-android-studio-project.git
- Advanced ->Refspec->
refs/changes/*:refs/changes/*
- Branches to build -> Branch Specifier (blank for ‘any’) : $GERRIT_REFSPEC
- Build Triggers : Gerrit Trigger
- Trigger on : 点击 Add 分别添加 Patchset Created 和 Draft Published
- Dynamic Trigger Configuration
- Type Pattern : test-android-studio-project
- Branches : master
- Build
- Add build step -> Execute Shell
- Command : gradle clean build
- Add post build step -> E-mail Notification
- Recipients : admin@vzjc.com
- Add build step -> Execute Shell
用户使用工程、测试
$ git clone git@gitlab.zjc.com:dev-group/test-android-studio-project.git
放入Android Studio工程到此目录。注意:
- build.gradle 文件中要写 SDK 中存在的Platform和CompileTool和兼容库版本号
编译后的结果存在于 /var/lib/jenkins/jobs/test-android-studio-project/workspace/app/build/outputs/apk 中
编译的工作目录以及出错信息可以在 Jenkins系统上相应的位置看到
$ git add .
- 如果有必要,设置正确的 user.name 和 user.email
$ git commit -m 'android project' - s
$ git review
0 0
- Jenkins自动编译Android Studio创建的工程
- Android Studio设置自动编译工程
- Android Studio设置自动编译工程
- 怎样设置Android Studio自动编译工程
- Android工程的自动创建,编译并生成apk
- Jenkins自动编译发布java工程的方法
- Jenkins与Visual Studio的自动编译和发布
- 自动编译 visual studio 工程
- eclipse创建的android maven工程使用ant编译,最后在studio里打开使用
- Android工程的自动编译和打包
- Jenkins + Unity + Android构建基于Unity的自动编译环境
- android studio编译工程出错
- Android Studio 创建Java工程
- Android Studio创建Xposed工程
- android studio不能创建工程
- [note]android studio创建工程
- Unity3d+Jenkins 自动编译iOS、Android版本
- Unity3d+Jenkins 自动编译iOS、Android版本
- canfestival 学习
- 脚本开发转载链接汇总
- nova数据库模块的开发和使用
- Android中Surface和SurfaceView的一些理解和总结
- Eclipse常用快捷键
- Jenkins自动编译Android Studio创建的工程
- hdu-1342 Lotto
- HDU - 1203 I NEED A OFFER!
- 登陆Oracle EBS的Form遇到问题Internet Explorer has modified this page to help prevent cross-site scripting
- 初识Halcon
- 黑马程序员--异常
- sql 集合
- 大数据时代我们都是透明人
- api接口