第一步,安装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. MVC超链接

    <1> return RedirectToAction(Index); //跳转到Index控制器 <%@ Page Language="C#" Inherits ...

  2. POJ 1742 Coins ( 单调队列解法 )

    id=1742" target="_blank">题目链接~~> 做题感悟:第一次做的时候用的二进制优化.可是没注意到是险过.so也没去看单调队列的解法. 解 ...

  3. Redis的字典(dict)rehash过程源代码解析

    Redis的内存存储结构是个大的字典存储,也就是我们通常说的哈希表.Redis小到能够存储几万记录的CACHE,大到能够存储几千万甚至上亿的记录(看内存而定),这充分说明Redis作为缓冲的强大.Re ...

  4. Java參数传递方式

    原文:http://blog.sina.com.cn/s/blog_59ca2c2a0100qhjx.html,我作了些改动并添加了一个实例,添加对照 本文通过内存模型的方式来讨论一下Java中的參数 ...

  5. 在VS2012中使用GitHub

    注册GitHub账号(DeanZhouLin) https://github.com/ 向GitHub中添加一个仓库(Test) *创建完成后,记录该仓库的地址:https://github.com/ ...

  6. The Swift Programming Language 中国版

    iSwifting社会的 Swift 兴趣交流群:303868520 iOS 微信公众账号:iOSDevTip Swift 微信公众账号:SwiftDev iSwifting社区 假设你认为这个项目不 ...

  7. python开发_tkinter_小球完全弹性碰撞游戏

    python开发_tkinter_小球完全弹性碰撞游戏   完成这个小球的完全弹性碰撞游戏灵感来自于: 下面是我花了一周下班时间所编写的一个小球完全弹性碰撞游戏: 游戏初始化状态: 最下面的游标和修改 ...

  8. 恢复js文件在windows默认打开方式

    解决办法: 运行 regedit 打开注册表编辑器,定位 "HKEY_CLASSES_ROOT" > ".js" 这一项,双击默认值将数值数据改为&quo ...

  9. struts2原理分析

    正在使用struts之前,我们必须明白servlet执行.因为不管什么J2EE框架支持servlet的. 和servlet正在运行的进程.简单地说,例如,下面的: 1.server接收请求 2.一个过 ...

  10. 【iOS开发-22】navigationBar导航栏,navigationItem建立:获取导航栏中的基本文本和button以及各种跳跃

    (1)navigationBar导航栏可以被看作是self.navigationController一个属性导航控制器,它可以由点直接表示self.navigationController.navig ...