版权声明:本文为博主原创文章,未经博主允许不得转载。

当我们的ionic应用开发结束之后,就要开始上线到应用市场,那么Android的发布步骤具体是怎么样的呢?

1)编译
运行命令行:

ionic cordova build android --release
  • 1
  • 1

如果一切顺利,最后会build successful

在platforms/android/build/outputs/apk/目录下面会生成默认名字为android-release-unsigned.apk的release版本apk文件。

2)使用keytool生成keystore文件
keytool是JDK自带的加密工具,我们需要生成一个keystore文件,然后保存好,之后不需要每次都生成新的。
运行命令行:

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
  • 1
  • 1

之后会让我们设置一些密码和安全问题,根据命令行提示进行设置即可,最后会在当前命令行执行的目录下自动生成默认名为my-release-key.keystore文件。如果你设置了alias_name,那么文件就是你设置的名字。validity 10000代表文件的加密时间为10000天。

3)使用jarsigner签名
jarsigner是JDK自带的签名工具,我们需要将release版本的apk文件利用keystore文件进行加密,也就是签名,签名之后的apk才能发布到Android应用市场。
运行命令行:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore android-release-unsigned.apk alias_name
  • 1
  • 1

注意这里的apk路径要正确,如果路径不正确,就找不到需要签名的apk文件,自然会签名失败。

4)压缩apk文件
zipalign是Android/sdk/build-tools/VERSION/zipalign的压缩代码工具,可以将我们的apk体积最小化。
比如我的zipalign的位置在D:\Android\android-sdk-windows\build tools\25.0.1\zipalign.exe,25.0.1是android sdk版本号,任意版本号都有zipalign.exe。
打开电脑的命令行工具:

进入zipalign正确的路径之后,运行命令行:

 zipalign -v 4 D:\project\IoT-China\CustomerProjects\ESTUN\Implementation\Source\Solutions\ESTUNMOBILE.WebUI\platforms\android\build\outputs\apk\android-release-unsigned.apk  alias_name.apk
  • 1
  • 1

这里android-release-unsigned.apk的路径应该是你的正确的路径,alias_name是压缩完成之后的apk文件名,成功之后会出现Verification succesful。

现在去你的zipalign所在的路径,可以看到压缩完成的apk文件。

5)不需要像苹果一样设置各种各样的证书,现在就可以将我们压缩完成的apk文件上传到相应的应用市场,填写相应的APP信息,等待审核就可以了。

ionic3应用的Android打包签名发布步骤的更多相关文章

  1. EclipseAndroid打包签名发布安装失败闪退运行不了

    EclipseAndroid打包签名发布安装失败闪退运行不了 本来没怎么用过用Eclipse写安卓,可是有人有需要必须用Eclipse写,那就写呗. 可在签名打包的时候,发到手机上安装,提示安装成功. ...

  2. react-native android打包签名release版apk遇到的问题

    在该项目包名时遇到的一个android打包问题,如下 改包名步骤 修改android/app/build.gradle里的applicationId,为新包名,如:com.xxx.yyy.myProj ...

  3. Android打包签名

    Ⅰ.用jdk和sdk自带工具打包签名 a.把jdk下的keytool.exe和jarsigner.exe所在目录(两个工具在同一目录) 添加到环境变量path 1)新建环境变量package,pack ...

  4. Android Studio 打包签名发布New Key Store

    Key store path:存放路径 Key Alias:别名 Validity(years):有效期 Certificate:证书 First and Last Name: Organizatio ...

  5. android 打包签名

    1.Eclipse工程中右键工程,弹出选项中选择 android工具 → 生成签名应用包 2.选择需要打包的android项目工程 3.如果已有私钥文件,选择私钥文件 输入密码,如果没有私钥文件见第6 ...

  6. Android 打包签名 从生成keystore到完成签名 -- 转

    首先,我们需要一个keystore,当然已经有了的话就不用这一步了:cmd下:进入到jdk的bin目录,这样的话,android.keystore文件就会生成在这个目录下,签名的时候我们需要这个文件C ...

  7. Android 打包签名 从生成keystore到完成签名

    进入生成工具:  工具帮助:   输入指令并获得结果:   转自: http://www.cppblog.com/fwxjj/archive/2010/05/24/116208.html 首先,我们需 ...

  8. android打包签名,从生成keystore到完成签名

    输入指令并获得结果:(对应自己的java安装目录) 首先,我们需要一个keystore,当然已经有了的话就不用这一步了:cmd下:进入到jdk的bin目录,这样的话,android.keystore文 ...

  9. android打包签名介绍

    Keytool 是一个有效的安全钥匙和证书的管理工具. Java 中的 keytool.exe (位于 JDK\Bin 目录下)可以用来创建数字证书,所有的数字证书是以一条一条(采用别名区别)的形式存 ...

随机推荐

  1. for-in和for-of,forEach和Map

    for-in和for-of 1. for-in循环实际是为循环”enumerable“对象而设计的,是用来循环带有字符串key的对象的. 使用for in会遍历数组所有的可枚举属性,包括原型.所以fo ...

  2. zabbix监控nginx连接数量

    #!/bin/bash conn=`netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}' | grep "E ...

  3. 最简单例子图解JVM内存分配和回收(转)

    本文转自http://ifeve.com/a-simple-example-demo-jvm-allocation-and-gc/ http://www.idouba.net/a-simple-exa ...

  4. 理解Path对路径进行操作的API

    阅读目录 一:理解normalize方法 二:理解join方法 三:理解dirname方法 四:理解basename方法 五:理解extname方法 回到顶部 一:理解normalize方法 该方法将 ...

  5. Python 远程桌面协议RDPY简介

    转载请注明:@小五义http://www.cnblogs.com/xiaowuyiQQ群:64770604 RDPY 是基于 Twisted Python 实现的微软 RDP 远程桌面协议. RDPY ...

  6. Selenium:HTML测试报告

    自动化测试过程中,获得用例的执行结果后,需要有具象化.简洁明了的测试结果,比如:用例执行时间.失败用例数.失败的原因等,这时候,就需要用到测试报告. HTML测试报告是python语言自带的单元测试框 ...

  7. LVDS原理及设计指南--以及衍生的B-LVDS-M-LVDS--CML-LVPECL电平等

    LVDS是一种低摆幅的差分信号技术,它使得信号能在差分PCB 线对或平衡电缆上以几百Mbps的速率传输,其低压幅和低电流驱动输出实现了低噪声和低功耗.      IEEE 在两个标准中对LVDS 信号 ...

  8. sql新语句

    SQL语句查找重复数据的写法:  select partner_id,* from sale_origin where partner_id in (select   partner_id from  ...

  9. CF875F Royal Questions 基环树、Kruskal

    题目传送门:http://codeforces.com/problemset/problem/875/F 题意:有$N$个王子和$M$个公主,每个公主或王子都只能选择至多一个王子或公主作为自己的结婚对 ...

  10. 如何构造树状 JSON 数据 JSON-Tree

    十年河东,十年河西,莫欺骚年穷...打错一个字哈.~_~ 接着上一篇博客,上一篇博客是=使用数据库结合LINQ构造的,为了方便理解,本篇采用泛型分组进行构造. 有兴趣的小虎斑可以参考上一篇博客:如何构 ...