使用Ant自动签名、打包Android apk并且自动安装到手机

转载 2015年11月21日 16:50:55

一、建立Ant打包Apk

  1. 新建一个TestAnt项目 
    这里写图片描述
  2. 创建App的签名密钥

    参考我的这篇github,欢迎Star|点击这里

  3. 取到密钥后,在项目中创建一个keystore的文件夹,复制密钥到此 
    这里写图片描述

  4. 给项目添加Ant

<code class="language-java hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//到项目的上级目录</span>
cd /Users/.../Documents/workspace/
<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//给相聚添加ant,-p 项目 -t 是target 我这里是android-21</span>
android update project -p TestAnt -t android-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">21</span> --subprojects
<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//这条命令执行完毕会创建build.xml 和proguard-project.txt 文件,会更新local.properties</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li></ul>

5.新建ant.properties ,并添加密钥

<code class="language-java hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//密钥的路径</span>
key.store=<keystore>
<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//别名</span>
key.alias=<key>
<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//store 的密码</span>
key.store.password=<keystore pwd>
<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//alias 的密码</span>
key.alias.password=<key pwd></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li></ul>

这里写图片描述 
这里写图片描述

6.运行ant

依次选择[build.xml][Run AS] [AntBuild…]

这里写图片描述

勾选clean 和 debug

这里写图片描述

查看运行日志

这里写图片描述

二、安装到手机并且编写脚本,实现全自动

1.安装到手机

<code class="language-java hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//复制上图中```[echo] Debug Package:```的路径</span>
adb install 路径</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li></ul>
  • 如果你想学到更多adb push adb install adb install -r 三个命令的区别的话,请点击这里

2.编写脚本,放到项目更目录

  • run.sh
<code class="language-java hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">#使用ant编译为debug版本
ant clean debug
#安装apk到手机
adb install -r bin/TestAnt-debug.apk</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li></ul>
  • 在mac中是run.sh在win中是run.bat

3.运行脚本

<code class="language-java hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">cd 项目路径
./run.sh</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li></ul>

4.错误

  • 运行./run.sh 提示Permission denied没有权限
<code class="language-java hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">chmod <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">777</span> run.sh</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>
  • 运行完成了,但是提示Invalid APK file: bin/TestAnt-debug.apk无效的apk
<code class="language-java hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">修改build.xml文件中的project 的name为项目的名称TestAnt</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>

这里写图片描述

Eclipse下配置Ant脚本 自动打包带签名的Android apk

虽然eclipse很少用了,但是在古老的项目上还是会用到。一个麻烦事是打带签名包的时候,非常不方便。下边纪录下配置ant,自动打包带签名apk的过程,作为备忘。(PC环境为MAC)1,第一步得安ant...
  • yanzi1225627
  • yanzi1225627
  • 2016年03月07日 11:31
  • 3725

使用Ant自动签名、打包Android apk并且自动安装到手机

一、建立Ant打包Apk 新建一个TestAnt项目 创建App的签名密钥 参考我的这篇github,欢迎Star|点击这里取到密钥后,在项目中创建一个keystore的文件夹,复制密钥到此 给项...
  • yy1300326388
  • yy1300326388
  • 2015年05月17日 14:28
  • 2032

使用Ant在mac os下实现多渠道打包

背景于还在使用Eclipse做为开发工具的同学而言: 由于各种原因,还有部分公司使用Eclipse作为Android开发工具,版本要上线的时候,要上传渠道包到国内主流应用平台,如:应用宝,安智市场,...
  • yuan514168845
  • yuan514168845
  • 2015年12月12日 13:52
  • 1323

ant使用总结(一):使用ant自动打包apk

配置ant环境 (1)下载ant 下载地址一:http://mirrors.cnnic.cn/apache//ant/binaries/apache-ant-1.9.4-bin.zip 下载地址二...
  • linchaolong
  • linchaolong
  • 2015年04月15日 11:46
  • 2277

二.jenkins配合Gradle实现自签名,自定义APK名称

http://www.jianshu.com/p/5866e36c81fa http://www.jianshu.com/p/5866e36c81fa http://www.jianshu...
  • u011904605
  • u011904605
  • 2017年01月18日 21:53
  • 557

bat批量自动签名apk

1、单个apk签名cmd命令如下:【其中myapk-unsigned.apk是要被签名的apk, myapk-signed.apk是签名后的apk,myapk.keystore是在项目下的keysto...
  • mqy1023
  • mqy1023
  • 2016年05月21日 23:01
  • 1301

Ant打包生成apk

由于项目中需要根据不同的渠道来进行打包,通过Eclipse打包过程非常繁琐,并且因为...
  • mfkauko
  • mfkauko
  • 2014年11月12日 16:05
  • 541

谈谈Android自动安装技术 应用程序 自动推送 自动安装

转载学习,所有权归原作者所有。如有侵权请联系删文。原文地址:http://www.jianshu.com/p/241b383ba377 2016年5月9日 提起应用自动装 应用自动装一开始给我的...
  • yinghaijushi
  • yinghaijushi
  • 2016年10月30日 21:43
  • 1382

纯ant命令行打包android apk之图文从原理角度完全详解android打包过程(打包系列教程之一)

工作也有一段时间了,刚来到公司时,说起来惭愧,打包根本不怎么会,然后呢,各种原因,管理svn和打包的各类工作都必须要由我来做了,之前的工程师留下的ant打包工具的打包速度,我实在忍无可忍了!太慢了!一...
  • javazejian
  • javazejian
  • 2016年01月22日 18:09
  • 5994

利用CMD命令签名APK

创建key,需要用到keytool.exe (位于C:\Program Files\Java\jdk1.6.0_10\bin目录下),使用产生的key对apk签名用到的是jarsigner.exe (...
  • jt_ontheway
  • jt_ontheway
  • 2016年08月16日 11:32
  • 1132
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用Ant自动签名、打包Android apk并且自动安装到手机
举报原因:
原因补充:

(最多只允许输入30个字)