Android ant自动打包脚本:自动替换友盟渠道、版本号、包名
本文最后修改时间:2014-3-10
Android项目开发时,给公司人员安装,频繁升级,版本号总需要改,太麻烦,跟着时间变,自动升级才方便。
Android项目开发新版时,手机上可能要装两个版本,一个是 老的正式版,一个是 新的开发版,想共存的话,要包名不一样,比如chrome是com.android.chrome,而chrome beta是com.chrome.beta,自动改包名才方便。
Android项目正式发布时,发到各个市场上,要统计各个渠道的效果,所以打包要打几十次,自动打包才方便。
所以开发了这个脚本,如下:
项目代码:https://github.com/sinkcup/AntDemo
测试APP:http://com-163-sinkcup.qiniudn.com/io.github.sinkcup.ant-cnblogs-1.1.apk
截图:
打包时自动更换友盟渠道
ant auto-release -DUMENG_CHANNEL=googlePlayStore
即会把AndroidManifest.xml中的友盟渠道替换成googlePlayStore,然后打包
ant auto-release -DUMENG_CHANNEL=xiaomiAppStore
即会打出小米应用商店的包
打包时自动更换包名
ant auto-release -Dpackage=com.example.ant.beta
把包名自动改成com.example.ant.beta,然后打包
打包时使用时间作为版本号
ant auto-debug -Dversion=time
把版本号改成时间,然后打包,效果:
versionCode是时间戳,比如1390969254
versionName是日期,比如14.1.29.1220
多个参数任意组合
ant auto-release -DUMENG_CHANNEL=googlePlayStore -Dpackage=com.example.ant.beta -Dversion=time
即打出google play的beta包,使用时间作为版本号
debug与release签名
ant auto-debug
使用debug签名(路径~/.android/debug.keystore),请参考http://developer.android.com/tools/publishing/app-signing.html#debugmode
ant auto-release
使用release签名,请修改ant.properties中的路径、密码等等,参考http://developer.android.com/tools/building/building-cmdline.html#ReleaseMode
如何集成到我的项目里
前提:了解Android官方文档,在项目目录中执行ant debug能打包,比如常见的打包步骤:
android update project -p . -s -t "android-19"
ant debug
如果ant debug打包能通过,则可以使用下面的自动打包。
下载custom_rules.xml,放到项目目录(假设为Project1),然后执行:
ant auto-debug -Dversion=time
即可,生成的包在./bin/中。
如果想打release包,下载ant.properties,修改其中的密码等配置,然后执行:
ant auto-release -DUMENG_CHANNEL=googlePlayStore -Dpackage=com.example.ant.beta
即可。
PS:友盟支持按渠道升级,比如cnblogs渠道升级完成还是cnblogs,googlePlayStore升级完成还是googlePlayStore。
比如
cnblogs渠道包:http://com-163-sinkcup.qiniudn.com/io.github.sinkcup.ant-cnblogs-1.1.apk
google渠道包:http://com-163-sinkcup.qiniudn.com/io.github.sinkcup.ant-googlePlayStore-1.1.apk
运行截图:
Android ant自动打包脚本:自动替换友盟渠道、版本号、包名的更多相关文章
- ant 可自动替换友盟渠道、版本号、包名
可自动替换友盟渠道.版本号.包名 如何集成到我的项目里 前提:了解android官方文档,在项目目录中执行ant debug能打包,比如常见的打包步骤: android update project ...
- React Native开发中自动打包脚本
React Native开发中自动打包脚本 在日常的RN开发中,我们避免不了需要将我们编写的代码编译成安装包,然后生成二维码,供需要测试的人员扫描下载.但是对于非原生的开发人员来说,可能不知如何使用X ...
- xcode8.3 shell 自动打包脚本 记录
题记 xcode升级8.3后发现之前所用的xcode自动打包基本无法使用,因此在网上零碎找到些资料,将之前的脚本简化.此次脚本是基于xcode证书配置进行打包(之前是指定描述文件.相对繁琐).因此代码 ...
- xcode8.3 shell 自动打包脚本
题记 xcode升级8.3后发现之前所用的xcode自动打包基本无法使用,因此在网上零碎找到些资料,将之前的脚本简化.此次脚本是基于xcode证书配置进行打包(之前是指定描述文件.相对繁琐).因此代码 ...
- iOS 制作自动打包脚本 Xcode8.3.2
本文包含以下内容: 前言 1.shell脚本的编写 2.xcodebuild命令 3.完整的可用示例 参考资料 前言 做iOS开发,打包APP是比较频繁的事情,每次都手动去配置一堆东西确实是比较乏味. ...
- Linux下Maven+SVN自动打包脚本
公司的开发环境每次部署项目都很麻烦,需要手动打包并上传上去.这个太麻烦了,所以就准备搞个自动打包的脚本.脚本自动从svn代码库里面更新最新的代码下来,然后maven打包,最后把war包丢到to ...
- Windows环境下Oracle数据库的自动备份脚本自动删除30天前的备份
@echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo ...
- Android开发之带你轻松集成友盟统计
友盟统计是什么呢?为什么要集成他呢? 当我们需要获取自己写的软件的装机量和用户使用信息时,这时我们可以集成友盟统计. 首先到友盟统计中注册账号什么的就不废话了,直接看创建项目: 在个人中心中的管理里面 ...
- Android开发和測试实践 - 接入友盟统计
这两年一直在做无线的測试,兴许还会继续去做无线的測试,可是之前由于时间的原因一直都没有非常细致的了解到代码层面. 最近抽出时间自己做了些app的开发,决定假设想把移动的測试做好做深入.有一定的app开 ...
随机推荐
- 接触LLBL Gen Pro 对象关系映射框架后 前途变的一片光明
时间回到2010年,那时候还是熟悉代码生成+基础框架这种模式,基本的开发思路是通过代码生成器生成实体,再生成接口与实现类,最后拖拉控件,写界面数据绑定代码.基本上就是动软代码生成器给出的模式,或是微软 ...
- Linux下程序包管理工具RPM
实验环境: CentOS release 6.6 (Final) 一台 IP地址:172.16.249.230 RPM 是 Red Hat Package Manager 的缩写,本意是Red Ha ...
- python--爬虫入门(七)urllib库初体验以及中文编码问题的探讨
python系列均基于python3.4环境 ---------@_@? --------------------------------------------------------------- ...
- php易混淆知识点
一.define(“constant”, “hello world”);和const constant = “hello world”;的区别? (0).使用const使得代码简单易读,const本 ...
- 关于orapwd命令entries参数的探究
今日早上看Oracle官方文档<Administrator's Guide>时,在密码文件章节,关于orapwd命令entries参数的说明如下: This argument specif ...
- UNIX/Linux打包,压缩 ,解压:
1.tar打包命令 ①tar cvf tarname.tar file1 file2 $ .log $ .log $ .log $ tar cvf alllog.tar *.log a .log 0K ...
- Primer – 支撑 GitHub 的 CSS 工具包和准则
Primer 是一个 CSS 工具包,支撑着 GitHub 的前端设计.它的目的仅限于提供通用部件,为我们的开发者提供最大的灵活性,并保持 GitHub 的独特风格.它基于 SCSS 建成,可以通过 ...
- 【知识积累】DES算法之C#加密&Java解密
一.前言 在项目需要添加安全模块,客户端调用服务端发布的service必须要经过验证,加密算法采用DES,客户端采用C#进行加密,服务端使用Java进行解密.废话不多说,直接上代码. 二.客户端 客户 ...
- Windows Azure Cloud Service (40) 使用VS2013的publishSettings文件,发布Cloud Service
<Windows Azure Platform 系列文章目录> 在之前的文档中,笔者已经介绍了如何使用本地证书上传至云端的方式,将本地的Cloud Service发布至云端. 在本章中,笔 ...
- 手机端web学习基础--from慕课网
web知识零零散散的知道一些,但总感觉不够系统,遇到问题不知道如何解决,因此特此来系统的学习一下web前端的知识.从慕课网的web基础看起.下面学习http://www.imooc.com/learn ...