在Gradle中为ReactNative添加APK Signature Scheme v2

时间:2017-10-16 13:49:15

标签: android react-native react-native-android

Google Play拒绝我的反应原生应用,但错误: ERROR (Jar signer CERT.RSA): No APK Signature Scheme v2 signature from this signer ERROR (APK Signature Scheme v2 signer #0): No JAR signature from this signer. 它似乎需要使用v2方案签署我的应用程序,但官方网站只有v1方案的手册(https://facebook.github.io/react-native/docs/signed-apk-android.html),这对谷歌游戏来说还不够。

如何使用v2方案签署我的本机应用程序?

2 个答案:

答案 0 :(得分:2)

如果您遵循ReactNative指南或官方Android指南,您的gradle文件中应该有类似内容。

enter image description here

这样,当您运行命令

cd android && ./gradlew assembleRelease

APK将包含两种类型的签名。

重要的是将v2SigningEnabled true添加到签名配置中。

答案 1 :(得分:0)

您无需添加v2SigningEnabled,因为默认情况下应使用v2从Android Studio 2.2和Gradle 2.2开始对其进行签名。

默认情况下,Android Studio 2.2和适用于Gradle 2.2的Android插件使用APK签名方案v2和使用JAR签名的传统签名方案对您的应用进行签名。

来源:https://developer.android.com/about/versions/nougat/android-7.0.html#apk_signature_v2

您可以使用android apksigner构建工具检查您的apk是否已经签名。在Mac上,命令类似于:

❯ ~/Library/Android/sdk/build-tools/30.0.1/apksigner verify -v 1594191166.apk

有关检查apk是否已签名的更多信息,请参阅此this answer