Leo*_*deu 5 android google-play cordova ionic-framework android-11
我是一名 ionic 开发人员,在提交更新(或新应用程序)时,我一直在处理 Google Play 的这些新要求:
从 2021 年 8 月开始,新应用将需要以 Android App Bundle 格式发布。
从 2021 年 11 月开始,应用程序更新将需要以 API 级别 30 或更高级别为目标,并针对 Android 11 中的行为变化进行调整。未收到更新的现有应用程序不受影响,可以继续从 Play 商店下载。Wear OS 应用程序必须继续以 API 级别 28 或更高级别为目标。
我正在使用 ionic/cli v6.16.3 和 cordova v10.0.0,但无法使用以下命令创建 aab 捆绑包:
ionic cordova 构建 android --prod --release -- -- --packageType=bundle
它曾经在我以前的 cordova 版本(v9)上运行良好,但自从我升级到 cordova v10 后它就停止工作了。
除此之外,我不确定是否必须使用 APKSIGNER 方案 v2 来签署捆绑包。
最后,我得出了这个结论,这对我有用:
APKSIGNER 方案 v2 必须仅在针对 API 级别 30 的 APK 格式中使用。
相反,如果我们使用 App Bundle 格式,则无需使用 APSIGNER v2 方案对捆绑包进行签名。
因此,我将针对 API 级别 30 的 abb 包成功上传到 Google Play 所遵循的步骤是:
1. 生成bunde
ionic cordova build android --prod --release - - --packageType=bundle
Run Code Online (Sandbox Code Playgroud)
如果 aab 不是使用此命令生成的,那么我们必须手动生成它,如下所示:
转到文件夹 .\platforms\android\ 并执行:
.\gradlew.bat bundleRelease
Run Code Online (Sandbox Code Playgroud)
如果您使用的是 lunuex 或 mac,请删除 .bat。
这将在 \platforms\android\app\build\outputs\bundle\release 中生成 aab 文件
2.本地签署aab(这是支持旧Android版本所必需的)
我们必须将位于 \platforms\android\app\build\outputs\bundle\release 中生成的 aab(未签名)复制到密钥库和 jarsiner 工具所在的路径(在我的例子中是 JDK 路径:C :\Program Files\Java\jdk1.8.0_201\bin)。
然后,打开控制台(具有管理员权限),转到该目录并执行:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore name-of-keystore.jks app_name.aab keystore-alias
Run Code Online (Sandbox Code Playgroud)
(*重命名参数:name-of-keystore.jks、app_name.aab 和 keystore-alias)
3. 对齐 abb
在上传 aab 之前,您可以通过运行以下命令来对齐它:
zipalign.exe -v 4 signed app_name.aab aligned_app_name.aab
Run Code Online (Sandbox Code Playgroud)
(*重命名参数:app_name.aab 和aligned_app_name.aab)
这个对齐的 aab 是必须上传到 Google Play 的 aab
归档时间: |
|
查看次数: |
5512 次 |
最近记录: |