文档章节

Jenkins+Gradle实现android 自动打包

H
 Heqiwen
发布于 2017/05/08 13:53
字数 571
阅读 152
收藏 0

第一步,下载jenkins。链接:http://mirrors.jenkins-ci.org/war/latest/jenkins.war。

将下载的jenkins.war包直接放到tomcat下的webapps目录,启动tomcat,在浏览器输入:127.0.0.1:8080/Jenkins

第二步,进入设置,管理插件,添加gradle,lint

第三步:系统配置

 

第四步:create new job

 

在构建触发器中,有两种自动拉取代码并编译的策略: 1. 设置Poll SCM,设置定时器,定时检查代码更新,有更新则编译,否则不编译。

  1. 也可以设置Build periodically,周期性的执行编译任务。

 

 

配置gradle - android专用

请ios的朋友们请飘过. 如果安装gradle插件成功的话,应该会出现下图的Invoke Gradle script,配置如下:

${WORKSPACE}表示当前job下的workspace目录,主要是存放代码。一般${WORKSPACE}目录位于当前用户目录下,OS X 系统路径一般是/Users/用户名/.jenkins/jobs/;更多的环境变量请参考文末附录。 这样,就能自动在project下的app的build/outputs/apk下生成相应的apk. 注意:编译失败?可能要解决以下2个问题:

  1. gradle没配置环境变量。 比如我在/etc/profile中配置一下GRADLE_HOME:

  2. 也可以设置Build periodically,周期性的执行编译任务。 因为一般来说local.properties不会添加到版本库。 所以需要手动copy到${WORKSPACE}下的Project目录下(可参考自己Android Studio工程结构)。 关于local.properties的定义,这里记录一下,做个备份:

再编译一般就会编译成功,当然当那些第三方库需要重新下载的话,编译可能会很慢。

上传到蒲公英平台

curl -F "file=@/tmp/example.ipa" -F "uKey=" -F "_api_key=" http://www.pgyer.com/apiv1/app/upload

蒲公英详情配置:http://www.pgyer.com/doc/view/jenkins

注意:

1.配置build.gradle  的compileSdkVersion 、buildToolsVersion 版本要一致

2.配置local.properties 

## This file is automatically generated by Android Studio.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
#
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
#Fri Apr 28 13:54:39 CST 2017
sdk.dir=D\:\\Users\\Administrator\\AppData\\Local\\Android\\sdk

sdk.dir 要指定安装的SDK目录

第五步:build

© 著作权归作者所有

共有 人打赏支持
H
粉丝 0
博文 3
码字总数 1942
作品 0
成都
使用JavaScript调用手机平台上的原生API

我之前曾经写过一篇文章使用Cordova将您的前端JavaScript应用打包成手机原生应用,介绍了如何使用Cordova框架将您的用JavaScript和HTML开发的前端应用打包成某个手机平台(比如Android,iOS)...

jerrywangsap
08/26
0
0
Jenkins+Gradle实现android开发持续集成、打包

Jenkins简介 Jenkins 是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时 Jenkins 能实施监控集成中存在的错误,提...

菠萝
2013/08/28
0
14
Android studio 使用心得(十)---android studio 多渠道打包(三)

关于使用android studio 如何打包 大家可以看这两篇文章 Android studio 使用心得(四)---android studio 多渠道打包 Android studio 使用心得(四)---android studio 多渠道打包(二) 真正的项...

veidy
2015/07/28
0
0
Android Studio 使用资料汇总

1.加快Android Studio的编译速度(http://www.jianshu.com/p/c27ae1019225) 2.如何优化 Android Studio 启动、编译和运行速度?(http://www.oschina.net/question/2365986_2142890) 3.freelin......

IT追寻者
2016/11/15
0
0
使用Ant 实现批量打包Android应用

由于公司运维需要以及应用中需要加上应用推广的统计,往往要对应二三十个渠道,按照正常方法一个一个的去生成不同渠道包的应用,不仅浪费了时间,而且大大降低了效率. 上一篇讲到使用Ant进行...

Easince
2012/11/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Synchronize和ReentrantLock区别

目录介绍 1.Synchronize和ReentrantLock区别 1.1 相似点 1.2 区别 1.3 什么是线程安全问题?如何理解 1.4 线程安全需要保证几个基本特性 2.Synchronize在编译时如何实现锁机制 3.ReentrantL...

潇湘剑雨
19分钟前
1
0
ModelMap的用法

ModelMap的用法 ModelMap对象主要用于传递控制方法处理数据到结果页面,也就是说我们把结果页面上需要的数据放到ModelMap对象中即可,他的作用类似于request对象的setAttribute方法的作用,用...

DemonsI
29分钟前
1
0
Hibernate环境搭建过程

B站Hibernate教学视频原网址 下边代码是照着视频一步步写出来的。由于没有视频中老师所写的文件。所以xml文件中的dtd约束是直接在网上搜到复制来的。 和视频中一样,用的MySQL数据库。数据库...

BG2KNT
31分钟前
0
0
Fragment之软件主页面制作

Fragment是一种Android 3.0后引入的API ,它出现的初衷是为了适应平板电脑的大屏幕,手机界面小巧可放下的内容有限,而平板宽阔可以放下手机上的两三个界面一起合起来展示,多个Fragment可以组...

鱼想吃肉
38分钟前
1
0
关于网站恶意注册会员

网站发生恶意注册会员,有图形验证码 ,和短信验证码 但是还是有大量恶意注册: session 和 cookie都是可以随便伪造的。 验证码有打码平台。 短信验证有短信验证平台。 IP限制有虚拟拨号/VP...

妖尾巴
53分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部