Ionic3 Android生成签名打包

本文介绍了在Ionic3中为Android应用生成签名并打包的过程。首先确保Android环境和JDK配置完成,接着讲解了APP签名的重要性及其在调试和发布阶段的角色。通过keytool生成keystore文件,使用jarsigner对apk签名,最后通过zipalign进行优化,以创建可用于发布的apk。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先需要Android环境,并且机器上安装配置了jdk,然后ionic环境都齐备。

APP签名就是应用要安装到Android手机上的一个认证密钥。而这个签名是应用开发者自己生成,相同签名的应用高版本是可以覆盖低版本的应用的。同时,APP签名也是应用打包发布到应用市场的必要元素。

在开发过程中,肯定会用到真机调试,如果没有特意去生成签名供应用使用,Android 的ADT会提供一个默认的debug版本的签名,也就是debug.keystore,存放在:


,以便使开发者能够将应用安装到手机上预览并且调试,但debug.keystore的密钥是只能用于调试阶段,真正要发布那么肯定是需要自己生成一个.keystore的密钥的。


接下来,就开始生成签名的工作:

需要用到:

1、keytool:生成keystore文件,是JDK自带的加密工具,只需生成一次,然后保存在本地,之后签名直接使用这个文件不需要重新生成

2、jarsigner:对apk签名,是JDK自带的签名工具,如果要将apk发布到android应用市场,就需要对release版本的apk文件使用keystore文件进行签名

3、zipalign:是Android的build-tool的压缩代码工具,可以将apk体积最小化

三个工具目录如下图(分别是我自己jdk和Android SDK的安装目录):


准备工作就绪后,开始先生成一个未签名的apk:

首先执行:ionic cordova build android --prod --release,最终执行完会在以下目录生成apk文件(PS:我加了crosswalk,所以会有两个apk):


然后使用keytool生成keystore文件,也就是数字签名:

keytool -genkey -v -keystore myapp.keystore -alias myapp.keystore -keyalg RSA -validity 36500
-genkey		意味着执行的是生成数字证书操作
-v			表示将生成证书的详细信息打印出来,显示在dos窗口中
-keystore myapp.keystore	表示生成的数字证书的文件名为myapp.keystore(myapp是自己起的名称)
-alias myapp.keystore 		表示证书的别名为myapp.keystore,可以不和上面的名称一样
-keyalg RSA		表示生成密钥文件所采用的算法为RSA
-validity 36500		表示该数字证书的有效期为36500天

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


使用jarsigner为你的apk进行签名

jarsigner -verbose -keystore myapp.keystore -signedjar E:\myapp.apk E:\test\platforms\android\build\outputs\apk\android-armv7-release-unsigned.apk myapp.keystore

-verbose    表示将签名过程中的详细信息打印出来,显示在控制台窗口中
-keystore myapp.keystore    表示签名所使用的数字证书所在位置
-signedjar E:\myapp.apk E:\test\platforms\android\build\outputs\apk\android-armv7-release-unsigned.apk  表示给E盘工程目录下的android-armv7-release-unsigned.apk文件签名,签名后的文件为E盘下的myapp.apk
myapp.keystore      表示证书的别名,对应于生成数字证书时-alias参数后面的名称

如下图:



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

首先到Android SDK目录去

.\\zipalign -v 4 E:\myapp.apk E:\myapp_compress.apk
-v 	表示在DOS窗口打印出详细的优化信息 
E:\myapp.apk E:\myapp_compress.apk 	表示对已签名文件 E:\myapp.apk进行压缩优化,优化后的文件为E:\myapp_compress.apk




over!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值