mac下 Ionic3 Android签名详解

2018-09-04  本文已影响0人  it渣渣宇_0518

准备工作
keytool:该工具位于jdk安装路径的bin目录下;

jarsigner:该工具位于jdk安装路径的bin目录下;

zipalign:该工具位于Android-sdk-windows/tools/目录下;

接下来进入正题:

1.我们需要生成未经签名的apk

Android app 的打包分为 debug 和 release 两种,后者是用来发布到应用商店的版本。在开发ionic项目时,使用默认命令(ionic cordova build android)打包出来的是debug apk文件。要打包 release 版本的apk文件,只需要在后面加一个 --release 参数即可(在最下方我会把打包命令贴出)打包出来的文件名称:“android-release-unsigned.apk”(这个apk文件就是 没有使用默认签名的 文件)

2.签名                                                                                                                                                 2.1

使用keytool 生成数字证书

keytool -genkey -v -keystore myApp.keystore -alias myApp.keystore -keyalg RSA -validity 36500

keytool是工具名称-genkey意味着执行的是生成数字证书操作

-v表示将生成证书的详细信息打印出来,显示在dos窗口中

-keystore myApp.keystore表示生成的数字证书的文件名为“myApp.keystore”(myApp可以取自己的名字)

-alias myApp.keystore表示证书的别名为“myApp.keystore”,可以不和上面的文件名一样

-keyalg RSA表示生成密钥文件所采用的算法为RSA

-validity 36500 表示该数字证书的有效期为36500天,意味着36500天之后该证书将失效

2.2  执行该命令过程会要求输入密钥口令以及其他信息,看着填就行


2.3 使用jarsigner为app签名

jarsigner -verbose -keystore myApp.keystore -signedjar /Users/oukokusakai/APK/myApp.apk  /Users/oukokusakai/APK/android-release-unsigned.apk myApp.keystore

-verbose    表示将签名过程中的详细信息打印出来,显示在控制台窗口中

-keystore myApp.keystore    表示签名所使用的数字证书所在位置

-signedjar (后面的路径是你要签名apk的路径)表示给Apk工程目录下的android-armv7-release-unsigned.apk文件签名,签名后的文件为该路径下的myApp.apk

myApp.keystore      表示证书的别名,对应于生成数字证书时-alias参数后面的名称

2.4 到此,其实已经生成了一个可以发布到应用市场的apk了,如果想要更好,那么建议再使用ADT的zipalign对apk进行压缩一下。

转载:https://blog.csdn.net/xqq580231/article/details/78930497

 有不懂的欢迎留言问~

上一篇下一篇

猜你喜欢

热点阅读