1.配置java环境
 
在sun官网下载,解压后放入/usr/java下,并配置环境变量如
vi /etc/profile 在最底部加入如下配置(注:添加环境变量,都是在文件最底部添加)
 
JAVA_HOME=/usr/java/jdk1.7.0_80
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
 
修改完后执行 source /etc/profile更新
 
2.配置android sdk
 
https://developer.android.com/studio/index.html 最下面的 仅获取命令行工具,选择android-sdk_r24.4.1-linux.tgz进行下载,完成后解压到/home下。
解压完成后需要更新sdk,进入sdk下的tools目录。
执行 ./android update sdk -h 查看命令说明,
我的更新方式为:
./android update sdk -u -t add-on,extra,platform,platform-tool,tool
 
关于android的命令问题,由于系统是64位的,android的命令是32位,所以需要安装32位的支持
也可以参考这个,关于ndk的配置,不过我没配置ndk
 
yum install zlib.i686
yum whatprovides libstdc++.so.6
yum install libstdc++-4.8.5-4.el7.i686
 
然后配置环境变量
export ANDROID_SDK_HOME=/home/android-sdk-linux
export PATH=$ANDROID_SDK_HOME/tools:$ANDROID_SDK_HOME/platform-tools:$PATH
 
修改完后执行 source /etc/profile更新
 
3.配置gradle
 
我们项目使用的是2.10版本,直接使用如下地址下载
下载完成后解压到/opt目录下,并配置环境变量
export GRADLE_HOME=/opt/gradle-2.10
export PATH=$GRADLE_HOME/bin:$PATH
 
修改完后执行 source /etc/profile更新
 
4.安装jenkins
 
在官网https://jenkins.io/选择centos下载,然后到了rpm packages列表的页面
按照上面的命令执行:
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import http://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins
jenkins默认端口号是 8080,可以在配置文件修改
配置文件的位置: /etc/sysconfig/jenkins
同时注意,需要在防火墙配置jenkins端口
 
5.配置jenkins
 
第一次进去按照要求输入密码,安装插件时选择推荐安装的那些。
 
初始化完之后,在左上角选择进入 Global Tool Configuration
分别把jdk,gradle配置好,至于git是已经装好了的,如下图
 

 
接下来,需要配置git的 Credentials
由于是获取gitlab上的代码,需要配置用户(注:如果是gitlab需要将本机的ssh 公钥配置到分配的账号上)
填上在gitlab上分配的账号密码,自己定义id和描述,点击OK
 
准备工作已经做完,接下来就是配置任务了:
在首页点击新建,自定义个任务名称,然后类型选择自由风格的软件项目,点击OK。
 
下面就是任务的配置参数:

填上git地址,针对gitlab的,推荐选择https开头的地址,避免ssh的一系列权限问题

同时选择需要拉取的分支
 
触发器我配置的是每10分钟就执行一次
 
构建时选对gradle版本,我打的是debug包
 

然后保存就ok了,任务会按照配置的触发器执行。第一次可能会失败,请参看注意事项。

 
注意事项:
 
第一次拉取代码的时候,由于文件local.properties没有放入版本管理,需要自己新建,并配置sdk:
sdk.dir=/home/android-sdk-linux
 
关于jenkins中途出现如下问题

2.10\taskArtifacts\cache.properties.lock (Access is denied)

我的解决方法是:直接删除了整个项目,同时也将用户目录下的.gradle/caches清空,重新执行任务
需要自己新建local.properties文件配置sdk目录

Centos 7 使用jenkins 打包android项目的更多相关文章

  1. 项目androidAnt编译打包Android项目

    时间紧张,先记一笔,后续优化与完善. Ant编译打包Android项目 在Eclipse中对Android项目停止编译和打包如果项目比较大的话会比较慢,所以改为Ant工具来停止编译和打包 Ant环境配 ...

  2. Android - Ant自动编译打包android项目 -- 1(转)

    1.  背景: Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其当要将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我 ...

  3. Jenkins构建Android项目持续集成之findbugs的使用

    Findbugs简介 关于findbugs的介绍,可以自行百度下,这里贴下百度百科的介绍.findbugs是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题 ...

  4. jenkins打包安卓项目

    jenkins打包安卓项目和其它项目差不了太多. 1.构建选择 gradle(如果不用gradle自己写脚本编译也可) 2.jenkins用户需要安装JDK.SDK,jenkins会自动下载gradl ...

  5. (转载)Ant自动编译打包android项目

    1  Ant自动编译打包android项目 1.1   Ant安装 ant的安装比较简单,下载ant压缩包  http://ant.apache.org  (最新的为1.9.3版本),下载之后将其解压 ...

  6. jenkins打包前端项目报 error: index-pack died of signal 15 问题解决

    jenkins打包前端项目报 error: index-pack died of signal 15 问题解决 前几天用jenkins打包一个前端项目的时候出现了 error: index-pack ...

  7. Android-Ant自动编译打包android项目 -- 2 ----签名与渠道包

    上篇介绍了怎么使用ant自动编译打包现有的android项目,这篇将继续介绍如果如何在ant打包应用的时候加入签名信息以及自动打包渠道包. 1. 加入签名信息: 在项目的根目录下建一个ant.prop ...

  8. ant自动编译打包android项目

    源代码及可执行文件下载地址:http://files.cnblogs.com/rainboy2010/antdemo.zip Android打包APK的流程如下:  下面我们开始尝试使用ant进行ap ...

  9. [转]Windows中使用命令行方式编译打包Android项目

    http://my.oschina.net/liux/blog/37875 网上很多用Ant来编译打包Android应用的文章,毕竟Ant是纯Java语言编写的,具有很好的跨平台性.今天想写个纯win ...

随机推荐

  1. [译]Godot系列教程五 - 制作Godot编辑器插件

    制作插件 下文仅针对2.1版本. 关于插件 插件是为编辑器扩展出更多有用工具的重要方式.它可以完全用GDScript和标准场景开发,甚至都不需重新加载编辑器就可生效.不像模块,你无需创建C++代码.也 ...

  2. Java程序日志:java.util.logging.Logger类

    一.Logger 的级别 比log4j的级别详细,全部定义在java.util.logging.Level里面.各级别按降序排列如下:SEVERE(最高值)WARNINGINFOCONFIGFINEF ...

  3. axis2生成客户端代码

    通过aix2生成客户端代码需要准备相应的包,然后执行命令,步骤如下: 一.所需包准备 下载axis2-1.6.2-bin.zip,解压从lib包中取出 jaxrpc.jar wsdl4j-1.6.2. ...

  4. WCF服务启用与配置端口共享

    在 Windows Communication Foundation (WCF) 应用程序中使用 net.tcp:// 端口共享的最简单方式是使用 NetTcpBinding 公开一个服务. 此绑定提 ...

  5. 一分钟搞定AlloyTouch图片轮播组件

    轮播图也涉及到触摸和触摸反馈,同时,AlloyTouch可以把惯性运动打开或者关闭,并且设置min和max为运动区域,超出会自动回弹. 除了一般的竖向滚动,AlloyTouch也可以支持横向滚动,甚至 ...

  6. SAP CRM 7.0中的BOL(Business Object Layer)

    业务对象层(BOL)和通用交互层(GenIL)属于业务层. 业务对象层:   在CRM WebClient会话运行期间,业务对象层存储业务对象的数据以及它们属性和关系的定义. 通用交互层 通用交互层将 ...

  7. 提交本地项目到github服务器

    已经完成的本地项目 提交到github 并不是按照先在github上创建一个仓库 然后clone下来的顺序 1.在github上创建仓库 2.在本地项目初始化git仓库 $ git init 3.添加 ...

  8. 解决NSTimer存在的内存泄漏的问题

    创建定时器会在一定的间隔后执行某些操作,一般大家会这样创建定时器,这样创建的定时,self对定时器有个引用,定时器对self也有个引用,造成了循环引用,最终造成了内存泄漏,如果定时器在做下载的操作就会 ...

  9. 简单的学习心得:网易云课堂Android开发第六章SQLite与ContentProvider

    一.SQLite 1.基本操作: (1)创建数据库:在SQLiteOpenHelper的子类构造器中创建. (2)创建表:在SQLiteOpenHelper的子类onCreate方法中,调用execS ...

  10. Android View的绘制流程

    写得太好了,本来还想自己写的,奈何肚里墨水有限,直接转吧.正所谓前人种树,后人乘凉.. View的绘制和事件处理是两个重要的主题,上一篇<图解 Android事件分发机制>已经把事件的分发 ...