android系统自动构建,[系统集成] Android 自动构建系统
一、简介
android app 自动构建服务器用于自动下载app代码、自动打包、发布,要建立这样的服务器,关键要解决以下几个问题:
1. android app 自动化打包
android 的打包一般是人工通过eclipse或者studio的ui界面打包的,如果要让系统自动打包,必须在控制台环境下;
只要按照 google 的文档,把 eclipse 或者 studio 工程转化为 ant 或者 gradle 工程,就可以在控制台环境下打包了;
这里,我们选择 ant,主要是它容错好,遇到图片格式等问题不会中断整个进程,而我们在打包 gradle 工程的时候,它无论遇到什么错误都会中断整个进程(由于时间紧,我们没有仔细寻找改变 gradle 中断的方法,如果有网友知道可以告诉我)。
2. 任务提交方式简单
既然是自动化构建服务器,就应该有一个界面友好、配置方便的任务提交 UI。在不知道 jenkins 前,我们自己编写 UI 系统,有了 jenkins 后就方便多了,只需要简单配置就可以把构建服务器与 jenkins 集成起来,利用 jenkins 功能强大的可视化工具管理构建服务。
注:
android app 构建系统需要开启 ssh 服务,并且编写一个能传入参数、传出结果,而且能完成下载代码、打包、发布到 ftp 的构建脚本,通过 ssh 服务和构建脚本,构建服务器就能与 jenkins 集成了;
二、下面是我建立的Android APP自动构建服务器详细介绍
任务提交界面:
SVN:
FTP:
1)系统架构
操作系统:Ubuntu Server 14
应用环境:android sdk, ant, jdk
2)构建过程
1. 提交打包任务
在CI上点击 kxd_android_01_svn,开始检测代码是否有更新,之后触发android 构建服务器打包
2. android 构建服务器打包
2.1 检测SVN上的kxd android产品是否存在
2.2 将当前代码拷贝到tag上
2.3 export当前代码到/home/autobuild/kxd_android/build下
2.4 生成 ant build.xml文件
2.5 运行 ant clean
2.6 运行 ant release
2.7 copy apk和log到ftp上
2.8 传出params到/home/autobuild/kxd_android/params.txt
三、安全问题:
自动构建完成后,在正式发布前,必须加壳防止反编译;如果加壳程序支持linux控制台运行,可以加入到构建脚本里。
原文:http://www.cnblogs.com/hahp/p/4224496.html
android系统自动构建,[系统集成] Android 自动构建系统相关推荐
- 企业级BOM系统与外部系统集成的几种方案
企业级的BOM体系在整车厂起到信息"脊椎"的作用,因而也被称为制造企业的DNA,是贯穿于企业业务始终的核心要素,可以抽象成企业级的系统,该系统既是支撑整车开发.制造过程的核心系统, ...
- android 如何构建半屏显示的界面_如何实现android设备进入recovery界面后自动重启...
问题背景: 因项目开发及测试需要,设备升级频率比较高,升级出现失败的情况肯定是有的,原因用多方面,如:故意使用非法的升级包,升级版本不匹配等等. 出现升级失败问题后,对于手机用户来说可以选择重启手机即 ...
- Android L系统mtk平台下AAL自动背光调整服务亮度曲线调试需要涉及的地方
Android L系统mtk平台下AAL自动背光调整服务亮度曲线调试需要涉及的地方 如果你想修改MTK的AAL自动背光调整相关的内容,那么根据情况,可能需要涉及如下文件: 这是Android L版本的 ...
- android系统自动休眠代码流程,一种基于Android系统下的可控休眠方法及系统与流程...
本发明涉及一种手机应用,尤其涉及一种基于android系统下的可控休眠方法及系统. 背景技术: android设备的休眠指的是当长时间不用手机时手机会自动进入一个省电模式,调低或者关闭一部分电压的输出 ...
- 电子界卡组构建2019_2018–2019年构建现代Android应用程序的路线图
电子界卡组构建2019 Kriptofolio应用程序系列-简介 (Kriptofolio app series - Introduction) Welcome to this series of b ...
- 《ArcGIS Runtime SDK for Android开发笔记》——(4)、基于Android Studio构建ArcGIS Android开发环境...
1.前言 2015年1月15日,发布ArcGIS Runtime SDK for Android v10.2.5版本.从该版本开始默认支持android studio开发环境,示例代码的默认开发环境也 ...
- Android之项目中如何用好构建神器Gradle?
Gradle虽为构建神器,但感觉学习曲线比较陡峭.Gradle User Guide内容很多,但有点太多了,多的你看不完,Gradle Plugin User Guide一篇文章主要讲了Android ...
- Android中的Gradle之配置及构建优化
一.Gradle简介 1.Gradle是什么? Gradle是一种项目自动化构建工具,基于Groovy语言来声明项目设置,同时支持kotlin文件xxx.gradle.kts作为DSL(Domain ...
- Android官方技术文档翻译——开发工具的构建概述
本文译自Android官方技术文档<Build Overview>,原文地址:http://tools.android.com/build. 因为<Android Lint Chec ...
最新文章
- SLAM工具|GDB调试从入门到精通
- HighLight selected features
- 《高阶Perl》——导读
- linux 查端口 三种,Linux查看端口常用的三种用例
- python学习路线-Python最佳学习路线
- Step by step to create time dependent view
- h5 换脸 php,【部分原创】python实现视频内的face swap(换脸)
- Firefox 检测到该服务器正在将此地址的请求循环重定向。 此问题可能是因为禁用或拒绝 Cookie 导致。...
- Nest入门教程 - 初识Providers
- java jquery分页_如何最简单的实现java分页
- 系统集成项目管理工程师和信息系统项目管理师的区别
- maven 使用assembly 进行打包
- 《看清你的思维图谱》读书笔记
- 基于SuperMap iDesktop制作天地图1--10级详细说明
- python可以做数据库功能吗_python可以用哪些数据库
- Win7电脑右下角声音图标小喇叭出现红叉没有声音解决方案
- apktool工具在kali中的安装步骤
- ajax检测用户名重复无效,用ajax实现检测注册用户名是否重复的完整例子
- python中rouge是什么程序_rouge与pyrouge使用事项
- 合肥 python 培训
热门文章
- boost::regex模块通用对象缓存的测试代码
- boost::compose_property_map相关的测试程序
- boost::interprocess::message_queue用法的测试程序
- boost::fusion::fused用法的测试程序
- boost::function30的用法实例
- Boost:序列化之text_wiarchive和和text_woarchive
- VTK:可视化算法之IronIsoSurface
- OpenCV用方形棋盘进行相机校准
- OpenGL GLSL Shader Subroutines函数的实例
- OpenGL CPU光线跟踪