【问题标题】:Android Studio and apksigner won't sign app with v1 signatureAndroid Studio 和 apksigner 不会使用 v1 签名对应用进行签名
【发布时间】:2022-01-10 23:18:36
【问题描述】:

我有一个带有minSdkVersion = 24 的应用程序,但是当我使用 Android Studio 签名对话框时,apk 永远不会被 v1 签名(我使用的商店强制包含 v1 签名)。我尝试了 gradle 选项,但它不起作用。另外,我尝试使用带有选项--v1-signing-enabled true--max-sdk-version 23 的apksigner 来强制v1 签名,但它似乎不起作用。 apksigner verify 还报告该 apk 未使用 v1 签名。

有没有办法强制 Android Studio 或 apksigner 始终使用 v1 签名,尽管 minSdkVersion >= 24

【问题讨论】:

    标签: android android-studio apksigner


    【解决方案1】:

    冒着满足 StackOverflow 刻板印象的风险,您能解释一下为什么要绝对使用 v1 签名吗?

    由于 v2 签名严格来说比 v1 签名更安全、更快速,并且由于所有 Android 版本 24+ 都支持 v2 签名,因此在这种情况下没有理由使用 v1 签名,因此 Android Studio 有一个优化不使用 v1 签名在这种情况下,因为它无缘无故减慢了构建速度。

    此外,由于 Android 11 需要 v2 签名才能安装应用程序,因此除非您不打算支持此(或任何更高版本)版本,否则您将需要 v2 签名,因此 v1 签名将始终被Android平台忽略。

    如果您打算将 v1 签名用于自己的安全检查,您可能不应该这样做,但我们需要知道您使用它的目的是为了建议替代方案。

    【讨论】:

    • 我用来上传应用程序的商店后端强制包含 v1 签名。实际上我正在上传到 fdroid repo 的一个实例,它要求应用程序同时使用 v1 和 v2 进行签名。 Android Studio 在以前的版本中曾经有一个使用 v1 签名的复选框,但它不再可用。
    • 您可以向 Studio 提交错误,但不太可能取得成功,因为这些商店应该只接受带有 v2 签名的 APK,以匹配 Android 平台行为。请尝试与这些商店联系,以便他们解决问题。
    猜你喜欢
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-18
    • 2021-07-07
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多