and*_*per 16 android code-signing apk
最近,当我打算将我的APK签名发布到Play商店时,我得到了这个新选项:
按"签名帮助"链接,打开此网页:https: //developer.android.com/about/versions/nougat/android-7.0.html#apk_signature_v2
搜索更多,我发现了这个:
事实证明,它是Android 7.x的新验证,可以帮助使APK更安全,但也有点小.
我尝试使用这个新功能,就像在博客上写的那样,它确实使APK有点小.此外,正如它的编写,它仅适用于Android 7.x及更高版本(但您可以在同一个APK上使用这两种方法实际签名,让您也可以在旧版本的Android上安装该应用程序).
我不明白使用新的签名机制是否安全,以及他们对文档的确切警告.
我读过至少一个警告,我认为大多数开发人员都不需要特别照顾:
警告:如果您使用APK签名方案v2对应用程序进行签名并对应用程序进行进一步更改,则应用程序的签名将失效.出于这个原因,在使用APK签名方案v2签署您的应用程序之前使用诸如zipalign之类的工具,而不是之后.
我想我可以忽略这个警告,因为我只是让IDE本身使用默认的构建行为来构建APK.
我尝试使用所有3种方式签署应用程序:
似乎单独的v2不能安装在7.x之前版本的Android上,但其余的可以,而且似乎v2小于v1,而v1和v2比v1稍微大一点.
从旧签名切换到新签名是否安全(启用两个签名)?
用户升级会有什么问题吗?用户从v1升级到v2,或从v2(或v1和v2)升级到v1(如果出现问题) - 是否有任何问题?
我应该知道任何警告吗?我是对的,我可以忽略我提到的警告吗?
除了更好的安全性之外,使用v1和v2(一起)提供的签名是什么,我在v1上没有?
我的猜测是,只有Android 7,我们才能使用v2,这提供了一种拥有更小的APK的方法.这是真的吗?
Ale*_*bin 11
- 从旧签名切换到新签名是否安全(启用两个签名)?
是.只要您在签名后不修改APK,就可以了.
- 用户升级会有什么问题吗?用户从v1升级到v2,或从v2(或v1和v2)升级到v1(如果出现问题) - 是否有任何问题?
没有问题.一旦Android Package Manager验证APK签名(使用v1或v2方案),它就会提取签名证书,然后以任何进一步的逻辑为基础(例如,此APK是否允许用作旧版本的更新)在签署证书上.因此,只要你的APK使用相同的签名证书进行签名,你应该是好的.
- 我应该知道任何警告吗?我是对的,我可以忽略我提到的警告吗?
如果您仅使用Gradle/Android Studio的Android插件来构建和签署您的APK,则可以忽略该特定警告.对于使用自定义构建管道的开发人员,可能会在签名后修改APK.
我不知道任何其他警告.
- 除了更好的安全性之外,使用v1和v2(一起)提供的签名是什么,我在v1上没有?
v2签名验证速度更快.这意味着v2签名的APK会在Android Nougat(Android 7.0,API Level 24)和更新版本上更快地安装/更新.
- 我的猜测是,只有Android 7,我们才能使用v2,这提供了一种拥有更小的APK的方法.这是真的吗?
正确.但是,APK大小节省从来都不是APK Signature Scheme v2的目标.保存只是一个与APK中文件数量成比例的小数字,而不是它们的大小.您节省哪些每个文件的摘要中META-INF/MANIFEST.MF
和META-INF/*.SF
.它META-INF/*.(RSA|DSA|EC)
被APK中其他地方类似大小的APK Signature Scheme v2 Block取代.
归档时间: |
|
查看次数: |
1926 次 |
最近记录: |