debug.keystore在android中的用途是什么



我有一个小小的澄清。 我有以下问题,

1.debug.keystore是否用于在每次正常构建项目时生成apk?

2.我已经解压缩了生成的apk文件。我开始看到 META-INF 文件夹中有可用的证书。这些证书是否使用 debug.keystore 生成以标识系统标识?因为,两个 SHA1 哈希值在 debug.keystore 和 cer 中是相同的。解压缩的 apk 的 RSA。

请澄清这一疑问。

提前谢谢..

您要在设备上安装的每个 apk 都需要签名。调试密钥只是生成工具在首次使用它时随机生成的证书,在生成调试版本时会自动用于签名。否则,它与您为在Play商店中发布的证书没有根本区别(当然,省略了它使用错误的个人信息和固定密码的事实)

再说一遍:如果您构建为调试,则使用调试密钥库,否则,如果要创建发行版,则必须创建自己的密钥库并将构建脚本指向它。

有关谷歌文档的更多信息:http://developer.android.com/tools/publishing/app-signing.html

在调试模式下,使用由 生成的调试证书对应用进行签名 安卓SDK工具。此证书具有具有已知 密码,以便无需键入 每次更改项目时都使用密码。

Android Studio 会在您运行时自动将应用签名到调试模式 或者从 IDE 调试项目。

可以在模拟器上运行和调试以调试模式签名的应用,并且 在通过 USB 连接到开发计算机的设备上,但您 无法分发在调试模式下签名的应用。

缺省情况下,调试配置使用调试密钥库,具有 已知密码和具有已知密码的默认密钥。调试 keystore 位于 $HOME/.android/debug.keystore 中,并已创建 如果不存在。调试生成类型设置为使用此调试 自动签名配置。

作为额外的专业提示:如果您在具有不同共享测试设备的团队中进行开发,则如果你们共享相同的调试密钥库,则可以节省大量时间,否则在从其他开发人员获取测试设备时始终必须卸载调试应用程序

如果没有相同的密钥库值,则无法更新应用程序,否则应用程序将显示不同的签名。例如,您在几天后从PlayStore安装了应用程序,如果应用程序有更新,那么只有当其签名和新应用程序签名相同时,您才能更新以前的应用程序。此签名在 debug.keystore 中定义

最新更新