那么,开发完成后的Cordova工程,应该如何完成打包、签名和向应用市场的发布呢?
首先制作app安装到手机的图标和启动画面,需要根据手机屏幕的不同型号大小制作不同尺寸的图片(一般为png格式),并放入工程目录的res目录下。例如:
制作不同大小的图片存入:
注:关于更多cordova的icon的自定义可参考官网:
https://cordova.apache.org/docs/en/11.x/config_ref/images.html
工程中加入如下插件:
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的定义可参考官网:
https://cordova.apache.org/docs/en/latest/config_ref/index.html
cordova工程的编译命令cordova build的命令参数如下:
采用不同的编译参数,可产生debug和release两个版本的结果。
生成的apk文件将保存于:
所建工程目录\platforms\android\app\build\outputs\apk
例如,执行如下命令生成最终的release版本apk:
用以下命令生成签名文件,其中release-key.keystore是自己命名的签名文件名:
keytool -genkey -v -keystore release-key.keystore -alias cordova-demo -keyalg RSA -keysize 2048 -validity 10000
keytool -help
生成中,按提问回答签名信息,并记住所设置的密钥库口令。
完成后,会出现个提示:
按提示完成迁移后,在当前目录中即生成了包含所设置信息的release-key.keystore签名文件。
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore release-key.keystore –signedjar
app-release-signed.apk app-release-unsigned.apk cordova-demo
生成的签名文件,可以用android提供的build tool工具zipalign进行优化,语法如下:
命令:
D:\Android\android-sdk\build-tools\29.0.2\zipalign -v 4 app-release-signed.apk app-release-signed-aligned.apk
发布方式包括: