gpt4 book ai didi

android - 在使用新的 "APK Signature Scheme v2"时,我们应该了解哪些注意事项和警告?

转载 作者:IT老高 更新时间:2023-10-28 23:34:32 26 4
gpt4 key购买 nike

背景

最近,当我准备签署我的 APK 以发布到 Play 商店时,我得到了这个新选项:

enter image description here

点击“签名帮助”链接,打开此网页: https://developer.android.com/about/versions/nougat/android-7.0.html#apk_signature_v2

搜索更多,我发现了这个:

http://android-developers.blogspot.co.il/2016/11/understanding-apk-packaging-in-android-studio-2-2.html

事实证明,这是 Android 7.x 上的一项新验证,有助于使 APK 更安全,但体积也更小。

我尝试使用此新功能,正如博客上所写,它确实使 APK 更小了一些。此外,正如它所写的那样,它仅适用于 Android 7.x 及更高版本(但您实际上可以在同一个 APK 上使用这两种方法进行签名,让您也可以在旧版本的 Android 上安装应用程序)。

问题

我不明白使用新的签名机制是否安全,以及他们在文档中究竟警告了什么。

我读过至少一条警告,我认为大多数开发人员不需要特别注意:

Caution: If you sign your app using APK Signature Scheme v2 and make further changes to the app, the app's signature is invalidated. For this reason, use tools such as zipalign before signing your app using APK Signature Scheme v2, not after.

我想我可以忽略这个警告,因为我只是让 IDE 自己使用默认构建行为构建 APK。

我尝试了什么

我尝试使用所有 3 种方式对应用程序进行签名:

  • v1
  • v2
  • v1 和 v2(在一个 APK 中)

似乎 v2 单独无法安装在 7.x 之前的 Android 版本上,但其余的可以,而且 v2 似乎比 v1 小,而 v1&v2 比 v1 稍微大一点。

问题

  1. 从旧签名切换到新签名是否安全(当然同时启用两个签名)?

  2. 用户升级会有什么问题吗?用户是否会从 v1 升级到 v2,或从 v2(或 v1&v2)升级到 v1(以防出现问题) - 有什么问题吗?

  3. 我应该知道任何警告吗?我可以忽略我提到的警告是对的吗?

  4. 除了更好的安全性之外,使用 v1 和 v2(一起)进行签名还提供了哪些我在 v1 上没有的功能?

  5. 我的猜测是,只有从 Android 7 开始,我们才能使用 v2,它提供了一种拥有更小的 APK 的方法。是真的吗?

最佳答案

  1. Is it safe to switch from the old signing to the new one (Enabling both signing of course) ?

是的。只要签名后不修改APK就可以了。

  1. Will users have any issues upgrading? Will users upgrading from v1 to v2, or from v2 (or v1&v2) to v1 (in case something went wrong) - have any issues?

没有问题。一旦 Android 包管理器验证了 AP​​K 签名(使用 v1 或 v2 方案),它就会提取签名证书,然后基于任何进一步的逻辑(例如,是否允许将此 APK 用作旧版本的更新)在签名证书上。因此,只要您的 APK 使用相同的签名证书进行签名,您就可以了。

  1. Should I know about any warnings? Was I right that I can ignore the warning I've mentioned?

如果您仅使用 Android Plugin for Gradle/Android Studio 来构建和签署您的 APK,则可以忽略该特定警告。该警告适用于使用自定义构建管道的开发人员,这些管道可能会在签名后修改 APK。

我不知道有任何其他警告。

  1. Aside from better security, what does signing using v1&v2 (together) provide, that I don't have on v1 ?

v2 签名验证速度更快。这意味着 v2 签名的 APK 在 Android Nougat(Android 7.0,API 级别 24)和更高版本上的安装/更新速度更快。

  1. My guess is that only from Android 7, we will be able to use just v2, which provides a way for having smaller APKs. Is it true?

正确。但是,APK 大小节省从来都不是 APK 签名方案 v2 的目标。节省只是与 APK 中的文件数量成正比的一个小数字,而不是与它们的大小成正比。您保存的是 META-INF/MANIFEST.MFMETA-INF/*.SF 中的每个文件摘要。 META-INF/*.(RSA|DSA|EC) 被 APK 中其他地方的类似大小的 APK Signature Scheme v2 Block 替换。

关于android - 在使用新的 "APK Signature Scheme v2"时,我们应该了解哪些注意事项和警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40691627/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com