Cordova移动应用的打包、aab签名、发布与apk转换


Apache Cordova是Apache基金会支持的一套开源移动APP底层编译工具,可以与任何前端框架结合,完成基于H5的跨平台移动开发编译。
所开发的移动应用可通过添加不同的编译平台(platform),实现同一套代码面向Android、ios,以及华为鸿蒙等不同手机系统的部署和运行,因而具有良好的灵活性、移植性和通用性。

那么,开发完成后的Cordova工程,应该如何完成打包、签名和向应用市场的发布呢?
需要三个步骤:
1、生成aab文件;
2、对aab文件签名;
3、发布到google play
以下将详细描述上述步骤。

1、制作带图标和启动画面的app发布版本

(1)制作图标和APP启动画面

首先制作app安装到手机的图标和启动画面,需要根据手机屏幕的不同型号大小制作不同尺寸的图片(一般为png格式),并放入工程目录的res目录下。例如:
在这里插入图片描述
制作不同大小的图片存入:
在这里插入图片描述

在这里插入图片描述
注:

(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" />
     <preference name="AndroidWindowSplashScreenBackground" value="#fffacd" /> 

    <platform name="android">
        <icon src="res/icon/android/myicon.png" />
        <!-- <splash src="res/screen/android/myscreen.png" /> 该方式已弃用-->
        <preference name="AndroidWindowSplashScreenAnimatedIcon" value="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

(3)打包生成发布的版本

  • 注:以myApp工程制作面向Android的应用为例说明。

cordova工程的编译命令cordova build的命令参数如下:

在这里插入图片描述

采用不同的编译参数,可产生debug和release两个版本的结果。

  • debug版本:用于调试
  • release版本 :用于发布

注意:2021年8月起,google要求google play应用都以aab文件方式上传! 因此,采用上述build --release生成的版本已保存为aab文件,而不是apk文件!!!

生成的aab文件将保存于:

所建工程目录\platforms\android\app\build\outputs\bundle\release

例如,执行如下命令生成最终的release版本:

在这里插入图片描述
生成的aab文件的位置:
在这里插入图片描述

2、对应用程序签名

(1)生成keystore数字签名文件

用以下命令生成签名文件,其中release-key.keystore是自己命名的签名文件名:

keytool -genkey -v -keystore release-key.keystore -alias cordova-demo -keyalg RSA -keysize 2048 -validity 10000

其参数含义:
在这里插入图片描述
据说有效期最好在25年之内,否则审核可能不通过,因此,也可以设为9000天!

更详细的可用help查看:

keytool -help

生成中,按提问回答签名信息,并记住所设置的密钥库口令(至少6个字符)。
完成后,对于老版本运行,会出现如下提示:
在这里插入图片描述
按提示完成迁移后,在当前目录中即生成了包含所设置信息的release-key.keystore签名文件。

(2)用签名文件为aab文件签名

  • 为避免命令过长,可以先将签名文件和待签名的文件拷贝到一个目录(例如:都放在platforms\android\app\build\outputs\bundle\release目录)
  • 然后,用以下命令为aab文件签名,并生成app-release-signed.aab文件。(注意是一行):
jarsigner -verbose -keystore release-key.keystore -signedjar app-release-signed.aab app-release.aab cordova-demo

在这里插入图片描述

签名结果:
在这里插入图片描述

3、发布应用程序

发布方式包括:

  • (1)将aab文件和签名文件按google play的要求,发布到google play
  • (2)转换为apk文件提供给使用者

注:Google采用的是aab文件发布,与apk的区别是:不再需要打包所有类型安卓设备的全部内容,开发者只需要根据需求上传更新,Google Play 会按照需要加载内容并完成优化和分发!

4、转换aab为apk再发布的方法

aab文件可以更快速、灵活地发布到Google play,但是如果需要将aab文件转换为apk文件的话,可以按如下方法:

(1)aab转为apk的方法

  • 首先,下载bundletool.jar
    下载网址:https://github.com/google/bundletool/releases
  • 然后,将下载的jar文件和需要转换的aab文件放在一起(或者放到java运行目录),再用下述命令将aab转换生成apks
java -jar bundletool.jar build-apks --bundle=app-release-signed.aab --output=output.apks --ks=你的keystore文件名 --ks-key-alias=你的keystore别名 --ks-pass=pass:你的keystore密码 --key-pass=pass:你的key密码 --mode=universal

上面app-release-signed.aab是待转换的aab文件,转换后的文件名是:output.apks
如果在生成签名文件时,没有单独设置key密码,则和keystore密码一致。
运行后,生成了apks文件:
在这里插入图片描述
然后可以用unzip对该apks解压得到universal.apk,然后安装到设备。
例如:

unzip output.apks -d /path/to/extracted/
adb install /path/to/extracted/universal.apk

(2)优化apk文件

对于转换后的apk文件,之前已对aab签过名,不再需要对apk签名。
但可以用android提供的build tool工具zipalign进行优化,方法如下:
在这里插入图片描述
命令:

zipalign -v 4 app-release-signed.apk app-release-signed-aligned.apk

更多关于bundletool的说明详见:https://developer.android.com/tools/bundletool?hl=zh-cn

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
为了将Vue打包APK,你可以使用Vue Cordova这种方法。下面是具体的步骤: 1. 首先,你需要创建一个Cordova项目。你可以使用以下命令在终端中创建一个Cordova项目: ``` cordova create cordova-app com.ysh mapp ``` 这将创建一个名为"cordova-app"的Cordova项目。你可以根据自己的需求来更改项目名称和包名。 2. 接下来,你需要全局安装Cordova。你可以使用以下命令在终端中全局安装Cordova: ``` npm install -g cordova ``` 这将安装最新版本的Cordova。 3. 现在,你可以开始使用Vue Cordova打包APK了。你可以按照以下步骤进行操作: - 首先,确保你已经在Vue项目的根目录中。如果不是,请先进入到该目录。 - 然后,运行以下命令来添加Cordova平台(这里我们以Android平台为例): ``` vue add cordova-android ``` - 接下来,你可以使用以下命令来构建APK: ``` vue cordova build android ``` 这将构建一个Android的APK文件,文件路径为`/cordova-app/platforms/android/app/build/outputs/apk/debug/app-debug.apk`。你可以在设备上安装和测试这个APK文件。 需要注意的是,你需要在创建Cordova项目和构建APK之前,已经安装好了Vue CLI和Cordova插件。希望以上步骤能帮助到你!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [vue打包apk文件,vue+cordova打包Android的apk](https://blog.csdn.net/qq_41619796/article/details/106615917)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值