Android 7.0APK签名新方案-APK signature scheme v2

Android 7.0APK签名新方案-APK signature scheme v2

Android 7.0 引入一项新的应用签名方案 APK Signature Scheme v2,它能提供更快的应用安装时间和更多针对未授权 APK 文件更改的保护。在默认情况下,Android Studio 2.2 和 Android Plugin for Gradle 2.2 会使用 APK Signature Scheme v2 和传统签名方案来签署您的应用。

虽然我们建议您对您的应用采用 APK Signature Scheme v2,但这项新方案并非强制性的。如果您的应用在使用 APK Signature Scheme v2 时不能正确开发,您可以停用这项新方案。禁用过程会导致 Android Studio 2.2 和 Android Plugin for Gradle 2.2 仅使用传统签名方案来签署您的应用。要仅用传统方案签署,打开模块级 build.gradle 文件,然后将行 v2SigningEnabled false 添加到您的版本签名配置中:

  android {
   
    ...
    defaultConfig {
    ... }
    signingConfigs {
   
      release {
   
        storeFile file("myreleasekey.keystore")
        storePassword "password"
        keyAlias "MyReleaseKey"
        keyPassword "password"
        v2SigningEnabled false
      }
    }
  }

注意:如果您使用 APK Signature Scheme v2 签署您的应用,并对应用进行了进一步更改,则应用的签名将无效。出于这个原因,请在使用 APK Signature Scheme v2 签署您的应用之前、而非之后使用 zipalign 等工具。

ndroid 要求所有 APK 必须先使用证书进行数字签署,然后才能安装。本文介绍了如何使用 Android Studio 签署您的 APK,包括创建和存储证书、使用不同证书签署不同的构建配置,以及配置构建流程以自动签署您的 APK。

证书和密钥库


公钥证书(也称为数字证书或身份证书)包含公钥/私钥对的公钥,以及可以标识密钥所有者的一些其他元数据(例如名称和位置)。证书的所有者持有对应的私钥。

在您签署 APK 时,签署工具会将公钥证书附加到 APK。公钥证书充当“指纹”,用于将 APK 唯一关联到您及您的对应私钥。这有助于 Android 确保您 APK 的任何将来更新都是原版更新并来自原始作者。

密钥库是一种包含一个或多个私钥的二进制文件。在您使用 Android Studio 签署要发布的 APK 时,您可以选择生成新的密钥库和私钥,或者使用您已经拥有的密钥库和私钥。您应当为密钥库选择一个强密码,并为密钥库中存储的每个私钥选择一个单独的强密码。您必须将密钥库存放在安全可靠的地方。请参阅下面的保护您的私钥部分。

您必须在应用的整个生命周期内使用相同的证书,以便用户能够以应用更新的形式安装新版本。要详细了解为所有应用在其整个生命周期内使用相同证书的好处,请参阅下面的签署注意事项

签署您的调试构建


从 IDE 中运行或调试您的项目时,Android Studio 将自动使用通过 Android SDK 工具生成的调试证书签署您的 APK。当您在 Android Studio 中首次运行或调试项目时,IDE 将自动在 $HOME/.android/debug.keystore 中创建调试密钥库和证书,并设置密钥库和密钥密码。

由于调试证书通过构建工具创建并且在设计上不安全,大多数应用商店(包括 Google Play 商店)都不接受使用调试证书签署要发布的 APK。

Android Studio 会自动将您的调试签署信息存储在签署配置中,因此您不必在每次调试时都输入此信息。签署配置是一种包含签署 APK 所需全部必要信息的对象,这些信息包括密钥库位置、密钥库密码、密钥名称和密钥密码。您无法直接编辑调试签署配置,不过可以配置如何签署您的发布构建

如需了解有关如何针对调试构建和运行应用的详细信息,请参阅

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值