第一步,安装jenkins,这个网上教程挺多的。

第二步,下载并配置gradle。下载地址http://www.gradle.org/

解压gradle至某路径下,如/usr/local/lib/gradle-1.12

配置环境变量:

$ vi /etc/profile

在该文件底部加上

# gradle

export GRADLE_HOME=/usr/local/lib/gradle-1.12 (刚解压的路径)
export PATH=$PATH:$GRADLE_HOME/bin

:wq!后

$ source source profile

$ echo $GRADLE_HOME

检查是否配置成功。

第三步,在jenkins中配置gradle。

Jenkins-》系统管理-》管理插件-》选择"gradle plugin"下载并安装,网络不好的话也可自行下载插件安装。

下载成功后,系统管理-》系统设置-》gradle安装-》配置一下gradle_home并保存,如下图。

第四步,下载android SDK,并配置ANDROID_HOME

同样在/etc/profile底部加上

#android
export ANDROID_HOME=/opt/adt-bundle-linux-x86_64-20140702/sdk
export PATH=$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH

并source使生效。

第五步,Jenkins新建project任务

Jenkins-》新建-》构建一个自由风格的软件项目-》

源码管理:选择具体的版本控制软件,并填写项目URL,如本人为svn,只需在Repository URL填具体项目svn地址,其它为默认。

Build periodically H 9 * * 1-6代表每周一至周六上午九点中的某一时间自动build一次。点击每一项后面的问号有详细说明可根据需求自行设置。

选择刚刚系统设置中的gradle版本,clean build代表每次都clean了再build。可自行配置命令行

构建后可能需要发邮件或者获得apk下载,如下,选择Archive the artifacts并填写apk路径。

选择该project job-》左边“状态”-》最后一次成功的构建结果,并点击下载apk。

 

最后列举一下我构建中出现的问题,供参考:

1、local.properties中sdk.dir需设置成ANDROID_HOME路径

2、build.gradle的compileSdkVersion、buildToolsVersion需与ANDROID_HOME中的SDK一致

3、/opt/adt-bundle-linux-x86_64-20140702/sdk/extras/android路径下可能缺少m2repository包,需要补全,否则可能无法识别出external-library里的support-v4/v7包并依赖,原因不详。

4、我是在google develper android官网下载的64位,linux版本为64位,结果报aapt: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory,原因是64为OS需运行32为应用程序缺少链接库所致,$ yum install glibc.i686下载库即可。不知道为啥官网上下下来的都会这样。

5、build.gradle脚本中可能需要加上lintOptions选项。

android{

lintOptions {
abortOnError false
}

}

http://www.2cto.com/os/201410/343255.html

android--jenkins+gradle+android自动化构建apk步骤(转)的更多相关文章

  1. JMeter接口测试系列:Jmeter+jenkins+ant 的自动化构建

    在JMeter接口测试不断深入的过程中,发现可以和jenkins和ant一起搭配进行自动化的构建.下面是jmeter自动化构建的整理笔记. 准备环境 需要本机上确定安装了jmeter.ant和jenk ...

  2. Jenkins敏捷开发 自动化构建工具

    一.序言 Jenkins 是一款自动化构建工具,能够基于 Maven 构建后端 Java 项目,也能够基于 nodejs 构建前端 vue 项目,并且有可视化 web 界面. 所谓自动化构建是按照一定 ...

  3. android studio gradle自动签名构建实现

    我为自己代言: 一.在android studio中生成签名文件. 1.在android studio 选中项目,在菜单栏中选择Build. 2.点击Generate Signed APK选项卡. 3 ...

  4. Jenkins+Gradle+Git自动打apk包,并上传到ftp

    软件安装: 1.安装Jenkins.git.AndroidSDK 2.配置AndroidSDK环境变量 ANDROID_HOME:D:\Androidsdk PATH:%ANDROID_HOME%\p ...

  5. Jenkins部署.net自动化构建

    1.环境部署: windows server 2008R2环境   2.相关软件 SVN(源代码管理器:jenkins通过插件从源代码管理器下载代码)   Jenkins(主角)地址:http://f ...

  6. Jenkins添加Windows自动化构建方案

    一.为Jenkins添加Windows节点 这里需要填写远程工作目录,启动方法一项一定要选择"Launch agent via Java Web Start"一项,其它的保持默认. ...

  7. Jenkins和maven自动化构建java程序

    转自:http://www.cnblogs.com/gao241/archive/2013/04/08/3008380.html,版权归原作者所有. Jenkins是一个非常出色的持续集成服务器,本文 ...

  8. windows jenkins dotnet core 自动化构建webapi

    jenkins环境搭建好 注意一下几点: - 需要安装git - 需要安装dotnet core sdk环境 - 遇到这里报错,提示 Repository URL 错误的话,如果确实没有配置错误,重启 ...

  9. jenkins shell脚本自动化构建阿里云k8s上应用

    #!/bin/bash source /etc/profile cd /mnt/workspace/weifeng-ui-pre/ npm i && npm run build rm ...

随机推荐

  1. dell N5010

    Inspiron N5010Microsoft Windows 10 企业版 (64位) (英特尔)Intel(R) Core(TM) i3 CPU       M 370  @ 2.40GHz(24 ...

  2. shell 脚本之if、for、while语句

    (1)if语句 root@ubuntu:/mnt/shared/shellbox/shellif# cat shellif.sh #!/bin/bash #推断字符串 if [ "$1&qu ...

  3. 【转向Javascript系列】深入理解Web Worker

    本文首发在alloyteam团队博客,链接地址http://www.alloyteam.com/2015/11/deep-in-web-worker/ 上一篇文章<从setTimeout说事件循 ...

  4. IntelliJ IDEA Groovy(转)

    更新环境变量: source /etc/profile 验证是否成功: # groovy -version Groovy Version: 2.3.6 JVM: 1.7.0_67 Vendor: Or ...

  5. ps、top 、free查看用户资源信息

      查看root用户的进程信息. 运行命令: ps -u root 查看oracle用户的进程信息. 运行命令: ps -u oracle 若查看现在的资源占用情况,如何呢? 运行命令: top 可以 ...

  6. Jquery清除:hover事件

    $("#hover_div").unbind("mouseenter").unbind("mouseleave"); 可用于div按钮,造成 ...

  7. Cracking the coding interview--问题与解答

    http://www.hawstein.com/posts/ctci-solutions-contents.html 作者:Hawstein出处:http://hawstein.com/posts/c ...

  8. C语言 - printf的占位符(%) 异常

    printf的占位符(%) 异常 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26719135 C语言中, 使用%代表占位符的意 ...

  9. Python学习入门基础教程(learning Python)--3.3.2 Python的关系运算

    如果if的condition不用布尔表达式来做条件判断而采用关系表达式,实际上关系表达式运算的结果要么是True要么是False.下面我们先了解一些有关关系运算符的基础知识,如下表所示. 做个小程序测 ...

  10. MySQL先进的技术-存储引擎

    MySQL功能被分成两部分,主要有成品的外部client连接和可行性研究SQL函数语句,内侧部分被称为存储引擎,它负责接收外部操作指令数据,实际数据是完整的,文件输入和输出操作的工作 版权声明:本文博 ...