Cordova移动应用的打包、签名与发布
Apache Cordova是Apache基金会支持的一套开源移动APP底层编译工具,可以与任何前端框架结合,完成基于H5的跨平台移动开发编译。
所开发的移动应用可通过添加不同的编译平台(platform),实现同一套代码面向Android、ios,以及华为鸿蒙等不同手机系统的部署和运行,因而具有良好的灵活性、移植性和通用性。
那么,开发完成后的Cordova工程,应该如何完成打包、签名和向应用市场的发布呢?
1、制作带图标和启动画面的app发布版本
(1)制作图标和APP启动画面
首先制作app安装到手机的图标和启动画面,需要根据手机屏幕的不同型号大小制作不同尺寸的图片(一般为png格式),并放入工程目录的res目录下。例如: 制作不同大小的图片存入:
注:关于更多cordova的icon的自定义可参考官网:
(2)在app中配置
工程中加入如下插件:
cordova plugin add cordova-plugin-splashscreen
打开工程目录下的config.xml,在末尾加入如下语句,并保存:
<preference name="AutoHideSplashScreen" value="true" /> <preference name="SplashScreenDelay" value="3000" /> <preference name="ShowSplashScreenSpinner" value="true" /> <preference name="SplashShowOnlyFirstTime" value="false" /> <platform name="android"> <icon src="res/icon/android/myicon.png" /> <splash src="res/screen/android/myscreen.png" /> </platform> <platform name="ios"> <icon height="128" src="res/icon/ios/myscreen.png" width="128" /> </platform>
注:关于更多cordova的config.xml的定义可参考官网:
(3)打包生成发布的版本
-
注:以myApp工程制作面向Android的应用为例说明。
cordova工程的编译命令cordova build的命令参数如下:
采用不同的编译参数,可产生debug和release两个版本的结果。
-
debug版本:用于调试 release版本 :用于发布到应用商店
生成的apk文件将保存于:
所建工程目录platformsandroidappuildoutputsapk
例如,执行如下命令生成最终的release版本apk:
生成的apk位置:
2、应用程序签名
(1)生成keystore数字签名文件
用以下命令生成签名文件,其中release-key.keystore是自己命名的签名文件名:
keytool -genkey -v -keystore release-key.keystore -alias cordova-demo -keyalg RSA -keysize 2048 -validity 10000
其参数含义: 更详细的可用help查看:
keytool -help
生成中,按提问回答签名信息,并记住所设置的密钥库口令。 完成后,会出现个提示: 按提示完成迁移后,在当前目录中即生成了包含所设置信息的release-key.keystore签名文件。
(2)用签名文件为app签名
-
为避免命令过长,先拷贝签名文件到待签名apk文件目录(apk编译后在platforms/android/app/build/outputs/apk/release/目录) 然后,用以下命令为app-release-unsigned.apk文件签名,并生成app-release-signed.apk文件。(注意是一行,中间用空格分隔):
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore release-key.keystore –signedjar app-release-signed.apk app-release-unsigned.apk cordova-demo
签名结果:
(3)优化签名文件
生成的签名文件,可以用android提供的build tool工具zipalign进行优化,语法如下: 命令:
D:Androidandroid-sdkuild-tools29.0.2zipalign -v 4 app-release-signed.apk app-release-signed-aligned.apk
3、发布应用程序
发布方式包括:
-
(1)将签名后的apk文件提供给使用者 (2)发布到应用商店
上一篇:
通过多线程提高代码的执行效率例子