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

Posted

技术标签:

【中文标题】使用 Target SDK 版本 30 创建 ionic 3 应用程序在 Google Play 控制台中出现错误【英文标题】:Create ionic 3 app with Target SDK version 30 getting error in google play console 【发布时间】:2021-06-20 20:32:36 【问题描述】:

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

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

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

在目标 SDK 版本 30 或目标 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

【问题讨论】:

【参考方案1】:

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

apksigner sign --ks yourkeystore.keystore yourapk.apk

验证签名

apksigner verify -v yourapk.apk

【讨论】:

然后是 zipalign? 没有用。但是,所选答案中的命令确实如此。真的没有意义,为什么不能有一个命令来做这件事,而你必须做 jarsigner、zipalign,然后是 3 个命令来签署 zipaligned apk...... 我已经编辑了我的答案。在 jarsigner 和 zipalign 之后,我已经尝试了所选答案中的所有脚本,但我认为我只需要来自 apksigner 的这两个脚本。 下次我们必须在商店发布应用程序时,我可能会试一试,下一个 sprint。谢谢 非常感谢你的朋友。这对我的团队真的很管用。【参考方案2】:

解决方案

我只使用 cmd 将此解决方案用于离子应用程序

在 zipalign 命令成功后,将此命令应用于带有签名方案 v2 的 conver sign apk

apksigner sign --v2-signing-enabled false --ks keystore name.keystore signapkname.apk

apksigner 签名--ks keystore name.keystore signapkname.apk

apksigner sign --ks keystore name.keystore --ks-key-alias aliasname signapkname.apk

keytool -printcert -jarfile signapkname.apk

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

apksigner 验证 -v signapkname.apk

【讨论】:

非常感谢,这对我帮助很大! 非常感谢您提供此解决方案!如果您使用的是 .jks,请删除 keystore 参数。

以上是关于使用 Target SDK 版本 30 创建 ionic 3 应用程序在 Google Play 控制台中出现错误的主要内容,如果未能解决你的问题,请参考以下文章

iOS SDK工程同时打出模拟器和真机包配置

iOS SDK工程同时打出模拟器和真机包配置

iOS SDK工程同时打出模拟器和真机包配置

iOS 同一个项目,创建多个target,打包不同版本的项目

Firebase iOS 6.30.0 SDK 崩溃 - GPBCreateMessageWithAutocreator

给工程添加多个target