全陷阱破解:在Linux环境下的Jenkins中持续集成Android工程

本方案以 RHEL / Centos 64位Linux操作系统为例,因为这是目前最常见的服务器环境。

一、安装Java SDK。 建议,不要使用诸如yum之类的玩意自动安装,因为openJDK之类的东东最终各种幺蛾子跑不起来。老老实的去oracle网站下载至少Java7 64位的最终版本,手动安装之,,配置好系统path和JAVA_HOME环境变量。

vim ~/.bash_profileexport JAVA_HOME=<Java安装路径>PATH=$PATH:$JAVA_HOME/bin……

二、安装Android SDK管理工具。 思路就是去Google网站上把Linux版本的Android SDK管理工具压缩包搞下来,如果访问不了Google(中国特色你懂的)就上网找IP地址配host之类的方法搞定。

wget https://dl-linux.tgz

然后就是解压缩配置环境变量啦,最终确保”android”命令在系统中可用就是目的。 编辑 ~/.bash_profile 加入系统路径2枚:

PATH/toolsPATH/platform-toolsexport PATH

64位系统请设置这个环境变量:

export ANDROID_SWT=$your_android-sdk-linux/tools/lib/x86_64# 如果是32位系统则这样设置:# export ANDROID_SWT=$your_android-sdk-linux/tools/lib/x86

完事后检测一下是否OK,运行命令:

android -h

三、安装Ant为了执行自动编译脚本。 建议老老实实去下载 Apache Ant,注意:android-sdk_r23.0.2 必须要 Ant 1.8 版本以上才行,解压之,并将其bin目录配置到系统执行路径中。过程不再废话~ 期间可能会遇到问题: java.lang.ClassNotFoundException: org.apache.tools.ant.util.regexp.Jdk14RegexpRegexp 这样解决:

sudo yum install ant-apache-regexp

或(Ubuntu系统)

sudo apt-get install ant-optional

四、下载Android SDK。 思路是先查看有哪些版本的SDK,它们的编号如何,然后选择自己需要的下载之;如果全下载的话就太多了,在中国,慢。搞定这些事你会用到如下命令:

# 查看远程所有的SDKandroid list sdk –all# 查看本地已安装的SDKandroid list target# 仅仅下载编号为27的SDK,–no-ui 不需要启动图形界面android update sdk –no-ui –all –filter 27# 下载 platform-tools和android-19android update sdk –no-ui -u –all –filter platform-tools,android-19# 下载所有的SDK(不建议这样做)android update sdk –no-ui

五、开始尝试构建工程 Android工程一般没有Ant构建文件build.xml,因此需要在项目根目录运行如下命令测试一下能否生成:

android update project -p .

可能你会遇到如下问题:

Execute failed: java.io.IOException: Cannot run program “/android/sdk/build-tools/android-4.1/aapt”: error=2

解决办法:

yum install i686 yum install i686 /android/sdk/build-tools/android-directory

解决办法:

yum install -y zlib/android/sdk/build-tools/android-directory

解决办法:

error while loading shared libraries: libz.so.1: cannot open shared obj

解决办法:

yum install -y zlib.i686

六、设置Jenkins和设置相关环境。 分析代码质量你需要Findbugs。 所以建议你下载 Findbugs 2.0.3,然后解压缩到某个目录就算安装了。再复制 findbugs-ant.jar 到 ANT_HOME/lib 目录。 在“android-sdk/tools/ant”这个目录里创建 findbugs-exclude.xml 这个文件,只是findbugs不要扫描非Java代码,内容如下:

>=>=>

然后编辑“android-sdk/tools/ant/build.xml”,增加 findbugs 的构建任务:

=======>=>

官方的标准做法是这样建议的,我觉得太麻烦,供参考吧:

====> =======>=>

最后,开始愉快的操作Jenkins: 首先在Jenkins系统环境变量控制台里配置 findbugs.home 和 android-sdk.home ,你懂得。 然后“构建一个自由风格的软件项目”在Jenkins里。 在项目里按如下顺序添加“构建步骤”: Execute shell Command

Invoke Ant Targets

cleandebugfindbugslint

看到了吧,findbugs命令就是我们刚才配置的Ant构建任务。 lint命令需要Jenkins安装响应的插件,这里不再赘述。

参考资料: https://www.digitalocean.com/community/tutorials/how-to-build-android-apps-with-jenkins

可笑的小心谨慎,还有从来就不会安全的安全感。

全陷阱破解:在Linux环境下的Jenkins中持续集成Android工程

相关文章:

你感兴趣的文章:

标签云: