使用 Target SDK 版本 30 创建 ionic 3 应用程序在 Google Play 控制台中出现错误

Bha*_*iya 7 ionic-framework google-play-console

我使用 Target SDK 版本 30 在 ionic v3 中创建应用程序,当我在 Google Play 控制台上上传我的 apk 时,出现错误“您上传了带有无效签名的 APK(了解有关签名的更多信息)。来自 apksigner 的错误:错误:MIN_SIG_SCHEME_FOR_TARGET_SDK_NOT_MET :目标 SDK 版本 30 至少需要签名方案 v2;APK 未使用此签名方案或更高版本的签名方案进行签名”

当我使用 Target SDK 版本 29 制作 apk 并在 google play console 上上传时,其上传没有任何错误

我不知道为什么谷歌给我一个错误

在 Target SDK 版本 30 或 Target SDK 版本 29 中创建签名 apk 过程相同,相同的密钥库,并且所有命令对于创建签名 apk 都相同

我的命令是 ionic cordova build --release android

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore myappname.keystore app-release-unsigned.apk myapp

zipalign -v 4 app-release-unsigned.apk myappname.apk

请检查有关命令有什么问题,并让我知道我的客户正在等待 Target SDK 版本 30

dia*_*aya 13

在构建发布 - > jarsigner - > zipalign 之后,我只需要这些脚本。使用 APK 签名方案 v2 对 apk 进行签名:

apksigner sign --ks yourkeystore.keystore yourapk.apk
Run Code Online (Sandbox Code Playgroud)

验证签名

apksigner verify -v yourapk.apk
Run Code Online (Sandbox Code Playgroud)


Bha*_*iya 6

解决方案

我仅使用 cmd 将这个解决方案用于离子应用程序

zipalign 命令成功后,应用此命令使用签名方案 v2 进行转换签名 apk

apksigner 签名 --v2-signing-enabled false --ks 密钥库名称.密钥库签名apkname.apk

apksigner 签名 --ks 密钥库名称.密钥库签名apkname.apk

apksigner 签名 --ks 密钥库名称.keystore --ks-key-alias 别名 name apkname.apk

keytool -printcert -jarfile signapkname.apk

apksigner verify -v --print-certs signapkname.apk

apksigner 验证 -v 签名apkname.apk