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

当我们的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. Python高级网络编程系列之第二篇

    在上一篇中,我们深入探讨了TCP/IP协议的11种状态,理解这些状态对我们编写服务器的时候有很大的帮助,但一般写服务器都是使用C/Java语言,因为这些语言对高并发的支持特别好.我们写的这些简单的服务 ...

  2. ethereum/EIPs-161 State trie clearing

    EIP 161: State trie clearing - makes it possible to remove a large number of empty accounts that wer ...

  3. tomcat运行超时问题解决

    之前一直懒得记录,不过最近觉得还是记录一下好一些. 由于项目过于庞大启动时间比较长,而tomcat默认超时时间为45秒,很显然对于一个庞大的项目而言是远远不够的. 错误信息如下所示: Server T ...

  4. IDEA学生免费申请教程

    1.点击网址,进入申请页面https://www.jetbrains.com/zh/student/ 2.由于网页是全英文的,可以用浏览器将页面翻译成中文版,更方便操作 3.因为没有大学的邮箱地址,所 ...

  5. Objective-C Core Animation深入理解

    Core Animation(核心动画),是从Layer Kit(图层工具包)演变而来的,不仅仅可以用来做动画. 1.视图 一个视图就是屏幕上显示的一个矩形,例如文字.图片和视频. 视图是UIView ...

  6. Linux 局域网同步时间

    选择一台能上外网的机器作为时间服务器(都不能上亦可以,任选一台即可,但是只能保证局域网内时间同步) 配置此时间服务器 安装 ntp 在 /etc/ntp.conf 中配置 restrict 127.0 ...

  7. Saltstack管理对象属性之grains和pillar组件

    Grains组件 Grains是saltstack记录minion的一些静态信息组件,可以简单的理解为grains里面记录着每台minion的一些常用的属性,比如cpu.内存.磁盘.网络信息等,可以通 ...

  8. php实现一个简单的四则运算计算器

    php实现一个简单的四则运算计算器(还不支持括号的优先级).利用栈这种数据结构来计算表达式很赞. 这里可以使用栈的结构,由于php的数组“天然”就有栈的特性,这里直接就利用了数组.当然可以使用栈结构写 ...

  9. SpringSecurity初步理解

    Authenticating a User with LDAP 首先创建一个简单的web控制器 package hello; import org.springframework.web.bind.a ...

  10. CF1070L Odd Federalization 高斯消元

    传送门 \(r = 1\)直接判断所有点度数是否为偶数 考虑\(r = 2\)的情况.设\(x_i=0/1\)表示\(i\)点所在的集合,那么若\(2 \mid du_u\),则\(\bigoplus ...