当前位置: 首页 > news >正文

(转)利用ant在Mac 下自动化打包签名Android程序

1.创建一个android项目

参数说明:-k /--package 为命名空间(包名)-a /--name 工程名-p /--path 项目 -t 为目标平台的版本编号

命令:./android create project -k com.android.yunju -a yunju -t 5 -p ~/Download/yunju 

 

列出不同平台的版本编号命令:android list targets

 2、已有项目更新

以创建的项目更新ant对已经存在的android工程,可以update下(修改平台的版本),这样会自动添加build.xml 等ant 的配置文件

命令:./android update project --name yunju -t 5 -p ~/Documents/YunJU/

当然,你要在android sdk tools的目录下。

3、命令行编译打包

参考:http://developer.android.com/tools/building/building-cmdline.html

ant 参数如下:

debug:带调试用签名的构建 release:构建应用程序,生成的apk必须签名才可以发布

install:安装调试构建的包到运行着的模拟器或者设备;

reinstall

uninstall

  在Android项目文件下:ant debug ,会打包出来调试签名的apk。

 

4、release打包方式

在ant.properties 文件中添加

key.store=path/to/my.keystore
key.alias=mykeystore
key.store.password=wodemima
key.alias.password=wodemima

  再运行:ant release

-release-sign:
     [echo] Signing final apk...
  [signapk] Run cancelled: no changes to input file /Users/rongfzh/Documents/YunJU/bin/yunju-release-unsigned.apk
 [zipalign] Run cancelled: no changes to input file /Users/rongfzh/Documents/YunJU/bin/yunju-release-unaligned.apk
     [echo] Release Package: /Users/rongfzh/Documents/YunJU/bin/yunju-release.apk
[propertyfile] Updating property file: /Users/rongfzh/Documents/YunJU/bin/build.prop
[propertyfile] Updating property file: /Users/rongfzh/Documents/YunJU/bin/build.prop
[propertyfile] Updating property file: /Users/rongfzh/Documents/YunJU/bin/build.prop
[propertyfile] Updating property file: /Users/rongfzh/Documents/YunJU/bin/build.prop

-post-build:

release:

BUILD SUCCESSFUL
Total time: 2 seconds

  生成三个apk,其中一个就是签名好的发布的apk了。

也可以打包完成立即安装:ant release install

转载于:https://www.cnblogs.com/greywolf/p/3459640.html

相关文章:

  • 动态定义二维数组的方法
  • Data Domain虚拟带库(VTL)的部署和实施
  • 在VMM2012R2中使用二代虚拟机创建的模板无法创建虚拟机的解决方法
  • C#获取url中参数键值对的方法
  • 零点起飞学HTML+CSS
  • linux下-scp不需要密码,简历相互信任关系
  • SmartWatch2开发-Control API简介
  • 高效使用Bitmaps(二) 后台加载Bitmap
  • 基础类BaseViewController
  • IP-SAN实验笔记
  • Node.app – 用于 iOS App 开发的 Node.js 解释器
  • Python机器学习——线性模型
  • 不用图片,纯Css3实现超酷的类似iphone的玻璃气泡效果
  • Python基础教程---读书笔记二
  • WIN 7中开户UAC时在Program File保护目录下进行写文件
  • 网络传输文件的问题
  • Angular 响应式表单之下拉框
  • Apache的80端口被占用以及访问时报错403
  • Intervention/image 图片处理扩展包的安装和使用
  • JavaScript HTML DOM
  • Java程序员幽默爆笑锦集
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • Laravel5.4 Queues队列学习
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • vue 配置sass、scss全局变量
  • 关于for循环的简单归纳
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 悄悄地说一个bug
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 一个项目push到多个远程Git仓库
  • 字符串匹配基础上
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • ​ArcGIS Pro 如何批量删除字段
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • (42)STM32——LCD显示屏实验笔记
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (转)母版页和相对路径
  • (转)为C# Windows服务添加安装程序
  • (转载)Google Chrome调试JS
  • .md即markdown文件的基本常用编写语法
  • .NET Core 通过 Ef Core 操作 Mysql
  • .NET Core 项目指定SDK版本
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .NET6 命令行启动及发布单个Exe文件
  • /etc/apt/sources.list 和 /etc/apt/sources.list.d
  • []Telit UC864E 拨号上网
  • [1159]adb判断手机屏幕状态并点亮屏幕
  • [Asp.net MVC]Asp.net MVC5系列——Razor语法
  • [AutoSar]状态管理(五)Dcm与BswM、EcuM的复位实现