使用 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 同一个项目,创建多个target,打包不同版本的项目
Firebase iOS 6.30.0 SDK 崩溃 - GPBCreateMessageWithAutocreator