【问题标题】:How to deactivate v2Signing of Unity3D gradle?如何停用 Unity3D gradle 的 v2Signing?
【发布时间】:2020-03-11 03:47:55
【问题描述】:

我想在 Unity 中停用 gradle 的签名 V2,以便将我的 apk 文件上传到 Oculus 仪表板。

Unity可以根据mainTemplate.gradle构建apk文件并生成build.gradle。 我在 mainTemplate.gradle 中添加了以下文本。

signingConfigs {
  release {
    v1SigningEnabled true        
    v2SigningEnabled false
  }
}

然而,Unity builder 在构建期间激活签名 V2 并覆盖签名设置。 build.gradle 显示签名 V2 激活(请参阅附件图片)。

Left:mainTemplate.gradle, Right:build.gradle

如何编辑签名设置?

【问题讨论】:

    标签: android unity3d gradle signature oculus


    【解决方案1】:

    我认为 mainTemplate.gradle 顶部可能有一条注释行,需要在它实际使用 mainTemplate.gradle 更改之前将其删除

    如果这不是问题,其他人建议这样做,并且可能是订购问题。

    **SIGN**
      // Add this block just below **SIGN**
      signingConfigs {
        release {
          v1SigningEnabled true
          v2SigningEnabled false
        }
      }
    

    来源:https://forums.oculusvr.com/developer/discussion/73099/apk-is-signed-with-signature-scheme-v3

    可能还想尝试删除 **SIGN****SIGN_CONFIG**(如果它们存在)并在文件中手动设置这些值而不是使用 Unity,看看它是否开始使用您的更改

    另外,在与 zipalign 一起创建构建之后,我在外部使用了 jarsigner(或替代品 apksigner),这不如编辑 gradle 最佳,但允许在需要时使用 APKtool 使用脚本编辑构建。在 Unity 中,APK 根本不应该使用发布密钥进行签名。在执行此操作之前执行此操作可能会导致 APK 无法安装。上面提供的链接中有更深入的视频。

    https://developer.android.com/studio/command-line/apksigner

    【讨论】:

      【解决方案2】:

      感谢您的回复。 最后我用 apksigner 重新签署了我的 apk 文件。

      apksigner sign --ks <keystore> --ks-key-alias <alias name> --v2-signing-enabled false  --v3-signing-enabled false --out <output name> <re-signed apk file>
      

      【讨论】:

        【解决方案3】:

        打开 Oculus 文件夹。 点击里面的设置文件。 查看 Inspector,确保选中 GO/GearVR。

        问题解决了。

        【讨论】:

          最近更新 更多