文档章节

用jenkins搭建android自动打包环境

赵占涛
 赵占涛
发布于 2014/08/07 18:29
字数 809
阅读 27517
收藏 173

这里假设你已经搭建了jenkins的环境。否则,请阅读我的另一篇文章:

http://my.oschina.net/u/930967/blog/298980

其实那个文章里面有用的就两句话的事儿,还是直接写在这里吧

jenkins是一个java web项目,可以去官网下载war包,放在tomcat的webapps下就能运行。

访问localhost:8080/jenkins进入

  • 步入正题

任何一个开发工具,都提供了命令行工具。比如android用的是ant。java有maven。还有xcode,visual studio等等,都有对应的命令行工具。我们完全可以自己写一个shell脚本来完成打包的工作。

  • 用命令打包adnroid项目

以下命令可以用来打包安卓项目,jenkins其实也是调用了类似的命令

ant build -f xxx/build.xml
# build.xml文件的生成,可以参考http://913.iteye.com/blog/1995500
  • 安装插件

jenkins支持多种插件,“联网”安装后即可使用,常见的有git插件,ant 插件,maven插件等。

在jenkins主页左上角,点击系统管理-->管理插件

点击“可选插件”并搜索git,选择安装git plugin(或者多装几个比如git client plugin)

同样的方式安装ant plugin

可能需要重启一下jenkins,方法是重启tomcat。程序员嘛,遇到错误了就多重启几次

  • 创建项目

点击jenkins主页左上角的新建。

给项目起个名字,选择自由风格项目

  • 配置项目

如果没有直接进到这里,请点击项目,在左边点击“配置”

大概长这个样子

源码管理处,选择git,配置登录信息,具体请自己研究。

打到“构建”点“增加构建步骤“按钮,选择invoke Ant(如果无此选项,说明你没有安装ant插件,请按上面的步骤安装插件)

点高级,设置细节(不懂ant的,请自觉恶补一下ant基础知识)

设置好后,就可以保存了。

  • 构建

在项目页,点击左侧的,立即构建。开始构建,下方build history会列出构建历史,红球代表构建失败,蓝球代表成功。

  • 构建出错后的解决办法

在build history中,找到出错的构建记录,点击后选择Console Output(或者叫控制台输出)即可查看出错原因。

  • 打好的安卓包(apk)去哪儿了

对于我的mac 来说,放到

 

/Users/***/.jenkins/workspace/reed_android/code/proj.android/bin

下了。

(2015-12-09 补充,打好的包会放到workspace下,这是一个变量,${WORKSPACE}。

如果要将生成出来的apk复制出来,可以这样

配置的时候,点击,增加构建步骤-->Execute shell,来执行一个shell命令,如果是windows,就要选Execute windows batch command,用类似于cp ${WORKSPACE}/bin/xxx.apk ~/xxx.apk,来复制到用户根目录下。

也可以在jenkins该项目的左侧找到”工作空间“,来浏览该项目的workspace

)

你可以在项目配置的时候,增加一个构建步骤,选择Execute shell,来执行一个shell命令,比如执行文件拷贝命令,把生成的apk文件放到其它的地方去。(对于windows来说,是Execute Windows batch command)

© 著作权归作者所有

赵占涛

赵占涛

粉丝 55
博文 26
码字总数 4457
作品 3
海淀
私信 提问
加载中

评论(14)

change_solider
change_solider

引用来自“mr_cheney”的评论

引用来自“change_solider”的评论

我的android项目中,怎么没有build.xml文件呢?

android update project -p 工程路径 -t android-17 就可以生成了,记得后面的17有可能你的*sdk没有
嗯,后来我也做出来了,可以用ant构建apk包。不过,在windows下持续构建简单一些,在linux下,就复杂了。
JadenTseng
JadenTseng

引用来自“change_solider”的评论

我的android项目中,怎么没有build.xml文件呢?

android update project -p 工程路径 -t android-17 就可以生成了,记得后面的17有可能你的*sdk没有
hawkyoung
hawkyoung

引用来自“change_solider”的评论

生成build.xml文件了,但是配置这个文件 ,太难了啊。。从编译到打APK包。。。
你查的资料应该是很老的,android自带工具可以自动生成build.xml android update project --path .
change_solider
change_solider
生成build.xml文件了,但是配置这个文件 ,太难了啊。。从编译到打APK包。。。
change_solider
change_solider
我的android项目中,怎么没有build.xml文件呢?
fneg
fneg
团队开发 持续集成的好帮手啊
赵占涛
赵占涛 博主

引用来自“chape”的评论

用ant命令直接打麻烦吗?

测试人员想打包 怎么办
杨子江
杨子江

引用来自“Feng_Yu”的评论

如果是单纯的git server的话,可以建立一个hook,钩住jenkins的build api,可以触发式build。
git插件的规则也就只是crontab定时去pull,有更新时build,实时性差,而且当项目较多的时候开销也大,是官方不推荐的做法
这个要看每个团队的CI节奏吧,按需使用即可。 比如有的团队是每日限制最多提交3次,一有提交就触发CI自动编译集成的; 而有的团队是随时可以提交,CI定时运行,一旦出错随时要解决掉。
Feng_Yu
Feng_Yu
如果是单纯的git server的话,可以建立一个hook,钩住jenkins的build api,可以触发式build。
git插件的规则也就只是crontab定时去pull,有更新时build,实时性差,而且当项目较多的时候开销也大,是官方不推荐的做法
Jenkins+Gradle+android+SonarQube

一、环境 ubuntu14.04(64位) jdk 1.7 ant 1.9 jenkins 1.606 tomcat 7.0.5 android sdk gradle nexus sonarqube 二、安装 JDK环境变量 gradle环境变量 Jenkins环境变量 android sdk 环境变量......

蓝桥书生
2015/04/19
2.8K
0
Android直接用手机打包apk!

你没有看错,用手机浏览器访问Jenkins,就可以打包apk,并生成下载二维码,发送邮件通知测试人员下载,从此解放双手,告别打包测试。先上本人手机邮箱收到的打包成功通知效果图: 废话少说,...

Zachary46
2018/08/01
0
0
Jenkins Gitlab持续集成打包平台搭建

相关概念 Jenkins Jenkins,一个用Java编写的开源的持续集成工具,提供了软件开发的持续集成服务,可监控并触发持续重复的工作,具有开源,支持多平台和插件扩展,安装简单,界面化管理等特点...

nineep
2018/06/27
0
0
使用Jenkins实现自动化打包

使用Jenkins实现自动化打包 Jenkins个开源的持续集成工具,不仅可以用来进行Android打包,也可以用来进行iOS打包、NodeJs打包、Java服务打包等。 The leading open source automation serve...

孤狼悲月
05/28
28
0
Jenkins中使用ant管理Android应用开发生命周期

软件环境 OS:CentOS 6.0 64-bit Android SDK:adt-bundle-linux-x86_64 Jenkins:1.529 Ant:1.8.2 配置管理 1.Jenkins中配置JDK,直接配置1.7+以上JDK。过程略。 2.把Android工程改造成具有A...

miscellanea
2013/11/19
3.8K
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊nacos的NacosDiscoveryAutoConfiguration

序 本文主要研究一下nacos的NacosDiscoveryAutoConfiguration NacosDiscoveryAutoConfiguration nacos-spring-boot-project/nacos-discovery-spring-boot-autoconfigure/src/main/java/com/a......

go4it
22分钟前
4
0
如何保证消息的顺序性?

面试题 如何保证消息的顺序性? 面试官心理分析 其实这个也是用 MQ 的时候必问的话题,第一看看你了不了解顺序这个事儿?第二看看你有没有办法保证消息是有顺序的?这是生产系统中常见的问题...

米兜
27分钟前
6
0
变量求解:RMT函数

1. RMT函数:计算贷款每月付款额 = PMT (贷款利率,付款限期,本金) 2.单变量求解: 数据选项卡----> 模拟分析------>单变量求解:单变量求解前必须先执行PMT函数...

东方墨天
28分钟前
2
2
网络安全市场需求

最近,网络安全技能差距的热门话题流传开来。技能差距经常被紧急讨论,可以看出它在实践中的作用是很大的。但信息安全是一门广泛的学科,所以在谈论“技能差距”时需要更具体。有专家表示,真...

linuxCool
48分钟前
3
0
饿了么快应用初体验

作者:饿了么 顾诚 为什么我们选择了快应用 在很长一段时间里,原生饿了么应用对于新用户来说体验成本略高,对于迫切想要点餐的老用户操作有点繁琐;而 Web 版的饿了么应用在体验、速度、功能...

前端老手
50分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部