Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
debug.keystore在android中有什么用途?_Android_Eclipse_Security - Fatal编程技术网

debug.keystore在android中有什么用途?

debug.keystore在android中有什么用途?,android,eclipse,security,Android,Eclipse,Security,我有一个小小的澄清。我有一个问题, 1.是否使用debug.keystore在每次正常构建项目时生成apk 2.我已经解压了生成的apk文件。我看到META-INF文件夹中有证书。是否使用debug.keystore生成这些证书以标识系统标识?。因为,解压后的apk的debug.keystore和cert.RSA中的两个SHA1哈希值是相同的 请澄清这一疑问 提前感谢。您要在设备上安装的每个apk都需要签名。调试密钥只是生成工具在首次使用时随机生成的证书,在生成调试生成时自动用于签名。除此之外,

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

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

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

请澄清这一疑问


提前感谢。

您要在设备上安装的每个apk都需要签名。调试密钥只是生成工具在首次使用时随机生成的证书,在生成调试生成时自动用于签名。除此之外,它与您为在play store中发布而生成的证书基本上没有区别(当然,它使用了错误的个人信息和固定密码)

同样如此:如果以调试方式构建,则使用调试密钥库;否则,如果要创建发行版,则必须创建自己的密钥库,并将构建脚本指向该密钥库。

有关谷歌文档的更多信息:

在调试模式下,您使用由生成的调试证书对应用程序进行签名 Android SDK工具。此证书具有一个具有已知密钥的私钥 密码,因此您无需键入 每次更改项目时输入密码

运行时,Android Studio会在调试模式下自动为应用程序签名 或者从IDE调试项目

您可以在emulator和上运行和调试以调试模式登录的应用程序 在通过USB连接到开发计算机的设备上,但是 无法分发在调试模式下签名的应用程序

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


作为增加的专业提示:如果您在一个团队中使用不同的共享测试设备,如果您共享同一个调试密钥库,或者从其他开发人员获取测试设备时,您始终必须卸载调试应用程序,这将节省大量时间。如果没有相同的密钥库值,则无法更新应用程序,否则应用程序将显示不同的签名。 例如,您在几天后从playstore安装了一个应用程序,如果应用程序出现更新,则只有在其签名和新应用程序签名相同的情况下,您才能更新以前的应用程序。此签名在debug.keystore中定义