ionic app打包和签名

杀马特。学长 韩版系。学妹 提交于 2020-11-08 07:21:49

首先在我们创建的项目目录下,打开终端,通过命令$ ionic platform add android添加android平台,执行完之后会在项目/platform目录下生产android文件夹,

1.先创建应用图标和启动图片

应用图标最少要1024px*1024px大小,启动图标最少要2208px*2208px,都要png-8格式的就可以了。做好图片后,我们把图标命名为icon.png,启动图片命名为splash.png,把这两张图片放到项目resources文件夹目录下,然后在android和ios文件夹目录下也各放一份,之后在终端执行命令:$ ionic resources,然后就会生成不同尺寸的图片。

(注:ionic resources命令默认会将图标和启动图片都生成不同尺寸的图片,如果像分别生成,可以执行ionic resources icon生成图标,执行ionic resources --splash生成启动图片)

 

2.安装SDK和配置环境变量

1.安装jdk 和配置JAVA_HOME

2.下载sdk,如何下载请看另一博文http://www.cnblogs.com/Caiyilong/p/8559394.html

这边需要注意,cordova-android包必须是下载的android api支持的,最好下载对应android api的最高版本,cordova-android版本可以通过命令$ cordova platform ls查看

参考如下:

 

详情请看:http://cordova.axuer.com/docs/zh-cn/latest/guide/platforms/android/index.html#requirements-and-support

3.配置sdk相关环境变量

ANDROID_HOME:D:\AndroidSDK\android-sdk-windows;

path:D:\AndroidSDK\android-sdk-windows\tools;

path:D:\AndroidSDK\android-sdk-windows\platform-tools;

 

3.配置应用签名

在目录下执行命令:

$ keytool -genkey -v -keystore myApp_5.keystore -alias myApp_5 -keyalg RSA -keysize 2048 -validity 10000

然后根据提示填入响应信息,这边的密码要记住,后面有用

 

4.使用cordova编译应用文件

使用build命令编译一个应用的发布版本:

终端进入到项目目录下,执行命令:

$ ionic cordova build --release android

该命令会生成一个新的APK文件,命令会返回编译后的APK文件的绝对地址,如下图所示:

 

5.签名应用文件

现在我们来使用之前创建的keystore文件来签名已生成的未签名版本的应用。

  (我们先把已经生成的apk文件移到项目根目录下,不然可能会报错"无法打开 jar 文件: android-release-unsigned.apk")

 终端执行命令:

$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore myApp_5.keystore android-release-unsigned.apk myApp_5

过程会需要一点时间,期间会提示输入keystore的密码密钥,命令会修改apk文件并对其进行签名。

验证apk是否签名成功:

jarsigner -verify -verbose -certs android-release-unsigned.apk

 

6.优化APK文件

优化APK文件,使其减少在设备上占用的空间和内存。我们使用zipalign工具,它使用签名后的APK文件生成一个优化后的APK版本,用于应用上传。

添加环境变量:

path:D:\AndroidSDK\android-sdk-windows\build-tools\23.0.3

之后再项目目录下执行命令:

jarsigner -verify -verbose -certs android-release-unsigned.apk

成功:

 

 

参考博文:https://www.cnblogs.com/jiangtengteng/p/6680654.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!