Jenkins配置Android深坑

在Jenkins上配置Android的一些持续集成(自动打包上传,单元测试,集成测试等)应该是很普遍的事情了。Jenkins一般配置在一个通用的测试服务器上,原来都是拿一个mac当测试服务器,在上面想怎么玩怎么就怎么玩,想怎么配置就怎么配置。可是如果测试服务器是在虚拟机上而且测试服务器不是你能控制的,那就要在Jenkins上配置Android就不能想自己控制自己电脑那边方便了,在配置过程中也填了不少的坑。那就讲下填坑之路吧。

Jenkins安装

这部分一般不用担心,在公司里会有专门的人员安装,你只管用就可以了。那如果是由你负责安装Jenkins的话那就要好好看Jenkins官网的安装方法了,根据不同的平台下载不同的安装包安装

Jenkins上新建项目

在打开的Jenkins页面左上方找到"创建"(create),


image.png

然后,写项目名和项目类型

image.png

(因为是Android项目,默认就选择第一个。)
然后选择"OK"
然后,一个新建的项目就好了。

image.png

Jenkins配置项目

配置前提条件就是你jenkins要安装好几个插件: git插件,gradle插件,Android虚拟机插件

image.png

image.png

image.png

然后就开始
Jenkins官网配置Androd环境

  • 选择JDK
image.png
  • 源码
image.png
  • 构建环境
image.png

虚拟机配置后期关闭,配置虚拟机主要用来下载andoid-sdk。

  • 构建
image.png

OK,好了,这就是正确的配置,那我们就运行下开始深坑之旅了。

image.png

看下输入log

image.png

问题不分先后,按解决问题处理

  • 问题1
image.png

虚拟机没有找到相应的hardware配置,尝试更改各种配置方法最后都是失败结束(如果你有其他解决方法记得告诉我)。能走到这一步就说明你的andoid-sdk已经按照好了,只是打开虚拟机还有问题。想想本身主要用来gradle打包Android apk,还用不到打开虚拟机,能安装好Android-sdk就可以。然后在项目配置中![Alt text]


image.png

勾选掉虚拟机配置就可以了,不影响你gradle打包。

  • 问题2
image.png

Android环境变量没有配置,需要根据Android虚拟机配置下载来的android sdk位置配了,

image.png

仔细看下android虚拟机下载sdk的位置,然后在jenkins的系统配置中配置相应的环境变量


image.png

就可以了。

  • 问题3
image.png

虚拟机的ABIs没有配置好,需要项目配置

image.png

就OK了。

  • 问题4


    image.png

    这个是说你下载的android-sdk需要同意协议,可是我们这个是虚拟的服务器上没有办法点击同意啊,那就看提示解决方法地址

image.png
image.png

有两种解决方案,一种在ui上点,一种是把你已经同意好的协议文件拷贝到当前页面。那我们只能把自己电脑的电脑拷贝进去了,可是又遇到问题,我没有权限访问这个服务器那怎么复制到这个jekins服务器上了,那只能把这个协议文件上传到七牛(或者其他托管服务器上),脚本如下

# 进入下载好的android-sdk路径
cd /root/.jenkins/tools/android-sdk
# 新建协议文件夹
mkdir licenses
# 进入协议文件夹内
cd /root/.jenkins/tools/android-sdk/licenses
# rm -rf android-sdk-license
# 下载已经同意好的android协议文件
wget http://7xn0ue.com1.z0.glb.clouddn.com/android-sdk-license

具体项目配置

image.png

OK,重新构建一下,不过记得先把“构建环境”的配置勾选掉,要不然“构建环境有问题执行不到这个脚本”

  • 问题5
image.png

你运行的系统缺少libGL.so.1库,那就需要安装这个库,找了下可以用

yum install mesa-libGL -y
```脚本解决,已经要记得加“-y ”要不然会出错提示

![image.png](http://upload-images.jianshu.io/upload_images/1534431-23a8a172c18ff124.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


- 问题6

![image.png](http://upload-images.jianshu.io/upload_images/1534431-570f151c6e7b1551.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

你运行的系统内核版本过低需要升级,这个也是我比较纠结的要是升级那会不会影响测试服务器的运行。(如果你现在是正式环境下你就需要跟领导沟通只是斟酌了)。
通过以下脚本可以解决,同

下载glibc-2.15.tar.gz内核文件,根据不同版本在http://ftp.gnu.org/gnu/glibc/

下载
wget http://ftp.gnu.org/gnu/glibc/glibc-2.15.tar.gz

解压文件

tar -xvf glibc-2.15.tar.gz

依赖库(glibc-ports-2.15.tar.gz)

wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.15.tar.gz

解压

tar -xvf glibc-ports-2.15.tar.gz

依赖库解压目录移到到主目录中

mv glibc-ports-2.15 glibc-2.15/ports

创建编译目录

mkdir glibc-build
cd glibc-build

运行以下命令编译及安装

../glibc-2.15/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make
make install

配置如下
![image.png](http://upload-images.jianshu.io/upload_images/1534431-f5153e0d9295fde4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)



以上是我遇到的所有问题,希望这些坑可以对你有帮助。
那看下最后成功输出log和配置:

![log](http://upload-images.jianshu.io/upload_images/1534431-5a7844d2a0ded788.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![JDK](http://upload-images.jianshu.io/upload_images/1534431-1e5e1234553f21e1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![源码仓库](http://upload-images.jianshu.io/upload_images/1534431-adb38281522b4c42.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![构建触发器和构建环境](http://upload-images.jianshu.io/upload_images/1534431-f59eff5b1878425c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![构建](http://upload-images.jianshu.io/upload_images/1534431-7705c3fbf55d287f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 224,642评论 6 522
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 96,168评论 3 402
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 171,809评论 0 366
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 60,921评论 1 300
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 69,924评论 6 399
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 53,415评论 1 314
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,794评论 3 428
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 40,765评论 0 279
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 47,297评论 1 324
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 39,331评论 3 345
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 41,458评论 1 354
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 37,065评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,777评论 3 337
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 33,233评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 34,366评论 1 275
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 50,001评论 3 381
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 46,524评论 2 365

推荐阅读更多精彩内容