【问题标题】:How to sign Android APK using v2 signature in Ionic 3 CLI?如何在 Ionic 3 CLI 中使用 v2 签名对 Android APK 进行签名?
【发布时间】:2022-02-24 14:37:28
【问题描述】:

我正在尝试为 Ionic 3 应用上传新版本。现在 Google Play 商店要求我以已经完成的 minSDK 30 为目标。但是现在 Google Play 商店正在返回消息:

ERROR: MIN_SIG_SCHEME_FOR_TARGET_SDK_NOT_MET: Target SDK version 30 requires a minimum of signature scheme v2; the APK is not signed with this or a later signature scheme.

我尝试使用 apksigner 签名,但每当我运行命令时,我都会收到错误,因为必须指定至少一个签名者。

我做了以下步骤;

ionic cordova build android --prod --release
keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore HelloWorld-release-unsigned.apk alias_name
zipalign -v -p 4 HelloWorld-release-unsigned.apk HelloWorld.apk
apksigner sign --ks my-release-key.keystore HelloWorld.apk

我可以使用 zip align,但不能使用 apksigner 签名。请帮忙

【问题讨论】:

  • 确保您使用来自正确构建工具版本的 apksigner,我使用构建工具 30.0.2 $ANDROID_SDK_ROOT/build-tools/30.0.2/apksigner

标签: android ionic-framework


【解决方案1】:

生成 App Bundle 而不是 APK:

ionic cordova build android --prod --release -- -- --packageType=bundle

然后用.jks登录

jarsigner -sigalg SHA256withRSA -digestalg SHA-256 -keystore app.jks AppName.aab AppName

.keystore

jarsigner -sigalg SHA256withRSA -digestalg SHA-256 -keystore app.keystore AppName.aab AppName

【讨论】:

  • 我尝试了上面的命令来构建包,但没有创建包输出。当我运行 gradle bundle 时,我得到 > 支持的最低 Gradle 版本是 7.0.2。当前版本是 6.7.1。如果使用 gradle 包装器,请尝试将 /Users/sanimshakya/Desktop/sesame/platforms/android/gradle/wrapper/gradle-wrapper.properties 中的 distributionUrl 编辑为 gradle-7.0.2-all.zip,即使我已经进行了更改书面
猜你喜欢
  • 2017-05-14
  • 1970-01-01
  • 2021-03-24
  • 2011-04-07
  • 2023-03-11
  • 1970-01-01
  • 2021-01-13
  • 2017-01-15
相关资源
最近更新 更多