android多lib库工程的自动批量构建--准备
打包这个活儿吧,本来没什么技术含量,千篇一律的更改渠道名称,然后编译,签名即可。但是如果发布渠道比较多的话,这种重复工作让人烦不胜烦。我们的应用发布渠道有30多个,若是手工打包,基本不用做其他的事情了。一个优秀的程序员,要持续的为改进和自动化而努力。今天我们来搞一搞自动化打包,后面陆续给出批量自动打包(自动更改渠道名称)
使用工具:Ant (点我下载)
准备:配置Java环境,配置Ant环境 (限于篇幅,不在赘述)
测试项目描述:
建立三个工程。主工程testAutobuild ,两个lib库,分别为testLibOne, testLibTwo 。三个项目的依赖关系为。
在主工程的界面上,将打印来自库1和库2的资源文件,以及来自库1和库2的代码文件,目的就是检测我们的自动打包是否成功,否则的话,程序会因为找不到文件而崩溃。
三个工程的代码非常简单,后面给出附件。
打包工程创建:
为了和android工程分开,单独新建一个java项目,编写ant脚本来完成应用程序的自动打包。
注意,只是完成自动构建,批量构建会在后面的文章中介绍。
自动构建工程的目录非常简单,仅有三个文件。build.properties存放的是通用配置,auto-build.properties存放项目配置,下一篇文章会介绍。
自动构建流程:
对流程和项目结构大致了解后,我们开始动手编码。
原文链接:http://www.67tgb.com/?p=629
转载注明:望月听涛
android多lib库工程的自动批量构建--准备的更多相关文章
- android多lib库工程的自动批量构建--编写ant脚本
基本配置--build.properties 首先编写基本配置build.properties ,主要配置如下: android sdk所在目录 编译项目所使用的项目版本 Jdk所在目录 以及签名时, ...
- android studio依赖库工程Activity显示问题及库工程设置
android studio引用库工程其实不难,直接添加依赖module即可,但是我在操作过程中出现一些奇怪的问题,苦扰我一整天,为了祭奠这苦命的一天特别mark一下. 首先描述一下我的错误现象: s ...
- Android so lib库远程http下载和动态注册
一.背景 在开发Android应用程序的实现,有时候需要引入第三方so lib库,但第三方so库比较大,例如开源第三方播放组件ffmpeg库, 如果直接打包的apk包里面, 整个应用程序会大很多.经过 ...
- 如何把一个android工程作为另外一个android工程的lib库
http://zhidao.baidu.com/question/626166873330652844 一个工程包含另一个工程.相当于一个jar包的引用.但又不是jar包反而像个package 在网上 ...
- [Android Pro] Android 4.1 使用 Accessibility实现免Root自动批量安装功能
reference to : http://www.infoq.com/cn/articles/android-accessibility-installing?utm_campaign=info ...
- 新建Android工程没有自动生成R.JAVA,应该先升级下ADT
前几天非常郁闷,本来计划在Android上做个小东西,结果打开Eclipse新建工程,发现居然没有R.JAVA! 反复测试很多次,均未成功,最后试着升级了下ADT,结果搞定,在这里记下,下次遇到这样的 ...
- android 如何添加第3方lib库到kernel中
注意:只能将lib库放在kernel编译到的地方,如下: alps/kernel/ alps/mediatek/custom/common/kernel/ alps/mediatek/custom/$ ...
- android项目引入第三方库工程出现的问题及解决方案
一.导入libar库工程 1.使用第三方库工程libary,基本上都是从github上下载,解压后里面有个libary文件夹 2.将libary导入到eclipse中,步骤如下 1)在eclipse包 ...
- Keil工程Lib库文件的制作和运用
最近看了百度手环开源项目,发现所有的算法都被封装成了一个lib文件在keil中调用 也是第一次学习到. 问题引出:为什么要做成lib库? 1.有些方案公司为了将自己写的关键部分源代码不进行公开,但是同 ...
随机推荐
- [转][Java]简单标签库简介
public class SimpleTagDemo extends SimpleTagSupport { @Override public void doTag() throws JspExcept ...
- Spring主从数据源动态切换
参考文档: http://uule.iteye.com/blog/2126533 http://lanjingling.github.io/2016/02/15/spring-aop-dynamicd ...
- Codeforces Round #456 B题
一.题意 给你一个n和一个k,让你从[1, n]区间内选k个数,这k个数异或和最大. 二.思路 我一开始看到这种题,不自觉地就想到,莫非又要搞很复杂的线段树.主席树?貌似还有些难搞啊.然而事实是:Co ...
- PHP数组键值使用单引号和双引号和无符号的区别
PHP数组键值使用单引号和双引号和无符号的区别 方法/步骤 1 第一种:$array['key']此单引号键值模式可以直接被解析为一个数组即$array 第二种:$array["key&qu ...
- Oracle中 HWM与数据库性能的探讨
链接:http://www.eygle.com/archives/2011/11/oracle_hwm_tuning.html 本文讨论的是oracle中关于table的HWM的内容,主要包括这样几个 ...
- Elasticsearch client node 启动时出现警告:exception caught on transport layer 及java.net.NoRouteToHostException: No route to host
发现该问题源自发现kibana不能打开sense,并且看见elasticsearch插件处于服务不可用状态,但是在client node上curl localhost:9200发现能够返回ES基本信息 ...
- JDK、Spring、Quartz等几种不同定时器的用法,以及cronExpression表达式定义
referenc:https://blog.csdn.net/clementad/article/details/42042111 下面介绍几种常用的定时器及其实现方法: 第一种:Timer和Time ...
- tensorflow-eagerAPI
调用该API可以不通过 tensorflow.Session.run()调用 定义的张量constant tensor,可以直接print # -*- coding: utf-8 -*- from _ ...
- fireDAC oracle
copy 4 files to D:\oracleapp\Administrator\product\11.2.0\client_1\BIN setup win 64 bit client .down ...
- 控制 TextBox 的滚动条
利用 EM_LINESCROLL 信息控制 TextBox 的卷动. 在含有卷动轴的 TextBox 中, 如何以程序控制 TextBox 的卷动? 传送 EM_LINESCROLL 信息给 Text ...