如何在Android上获取OAuth 2.0的签名证书指纹(SHA1)?

Ale*_*lex 149 android oauth-2.0

我正在尝试按照https://developers.google.com/console/help/#installed_applications中的步骤注册我的Android应用, 这导致我关注 http://developer.android.com/tools/publishing/app-签名.

但是,我不知道如何获得签名证书指纹(SHA1).

我首先使用Eclipse ADT插件导出并创建密钥库/密钥.然后,我尝试了keytool -list keystore mykeystore.keystore,它给了我一个MD5证书指纹.我是否需要重做签名(意味着我无法使用eclipse导出向导)?

我可以先使用调试证书吗?

Fre*_*aya 174

启动导出过程以为您的应用创建apk并使用您的生产密钥.最后一页显示SHA1和MD5证书指纹在此输入图像描述

  • 两次导出过程.它将在第二轮显示. (4认同)
  • MD5现在出现在logcat中(在创建期间不在窗口中). (2认同)

Nic*_*ick 139

我知道这个问题已经得到解答,但这就是我找到默认密钥库的签名的方法.在Eclipse中,如果你去Windows - > Preferences - > Android - > Build

在此输入图像描述

  • 这应该是公认的答案,因为这是最简单的方法. (5认同)
  • 对于default/debug密钥库,而不是生产密钥库 (3认同)
  • 伙计们请注意,安全的答案是@frederick nyawaya's.如果你的应用程序有不同的构建和发布密钥库(这种情况大多数情况下,地图将不适用于你的客户.上帝知道你什么时候知道这个,因为它在你自己的计算机上工作正常.请小心.这很容易,但您最终可能会在客户端设备上使用非工作地图服务. (3认同)

Rav*_*avi 91

我认为这将完美地运作.我使用了相同的:

对于Android Studio:

  1. 单击Build > Generate Signed APK.
  2. 您将看到一个消息框,只需单击"确定".
  3. 现在将有另一个窗口只是复制密钥库路径.
  4. 现在打开命令提示符并转到C:\ Program Files\Java\jdk1.6.0_39\bin>(或任何已安装的jdk版本).
  5. 键入keytool -list -v -keystore然后粘贴密钥存储路径 (例如C:\ Program Files\Java\jdk1.6.0_39\bin> keytool -list -v -keystore"E:\ My Projects\Android\android studio\signed apks\Hello World\HelloWorld.jks").
  6. 现在它将询问密钥存储密码,提供您的密码存储密码并按下Enter以获取SHA1和MD5证书密钥.


Ran*_*ku' 69

如果您使用的是Mac甚至是Linux,只需将其复制并粘贴到终端应用程序上,即可立即获得SHA1密钥.无需改变任何东西.

 keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
Run Code Online (Sandbox Code Playgroud)

示例输出:

Alias name: androiddebugkey
Creation date: 17 Feb 12
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4f3dfc69
Valid from: Fri Feb 17 15:06:17 SGT 2012 until: Sun Feb 09 15:06:17 SGT 2042
Certificate fingerprints:
     MD5:  11:10:11:11:11:11:11:11:11:11:11:11:11:11:11:11
     SHA1: 11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:01:11
     Signature algorithm name: SHA1withRSA
     Version: 3
Run Code Online (Sandbox Code Playgroud)


Dan*_*gen 67

在命令行中使用它

c:\Program Files\Java\jdk1.6.25\bin>keytool -list -v -keystore c:\you_key_here.key
Run Code Online (Sandbox Code Playgroud)


gur*_*kan 57

打开终端(在Unix中,在MAC中),(cmdWindows中)和cd这个(你的java)路径:

C:\Program Files\Java\jdk1.6.0_43\bin>
Run Code Online (Sandbox Code Playgroud)

运行此命令:

keytool -list -v -keystore C:\Users\leon\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android
Run Code Online (Sandbox Code Playgroud)

只需更改路径debug.keystore,您将获得MD5和SHA-1指纹.


Man*_*oni 40

keytool -list -v -keystore "keyStoreName"
Run Code Online (Sandbox Code Playgroud)

从存在应用程序密钥库的目录运行此命令.


Har*_*uet 22

在Android Studio中,请按照下列步骤操作:

  1. 单击android studio IDE右侧的Gradle properties菜单.
  2. 展开任务树.
  3. 单击signingReport您可以在底部控制台上看到SHA1

在此输入图像描述


Aks*_*hay 13

看看你是否想使用Google Map这时候你需要MD5指纹产生api kay在你的Android应用程序中使用谷歌地图.

MD5如果您使用Keytool命令生成指纹,如果您使用JDK 1.6它会生成SHA1指纹JDK 1.7.

所以事情是,如果你想签你的出版应用程序然后读取.

如果你想使用google-map这个.


use*_*932 12

如果您使用的是IntelliJ(12+?),请转到菜单Build/Generate signed Api

填充弹出窗口后,在"密钥库路径"字段中获取数据(例如C:\ Users\user\Documents\store\store)

并在命令行中运行:

>keytool -list -v -keystore "C:\Users\user\Documents\store\store"

....
         MD5: 11:C5:09:73:50:A4:E5:71:A2:26:13:E0:7B:CD:DD:6B
    -->  SHA1: 07:0B:0E:E8:F7:22:59:72:6A:1C:68:05:05:CF:2E:6F:59:43:48:99
         SHA256: E6:CE:DA:37:C1:18:43:C1:A3:F0:9E:8F:1A:C2:69:AF:E6:41:F7:C0:18:
1D:1D:55:5D:F0:52:6C:EE:77:84:A7
...
Run Code Online (Sandbox Code Playgroud)

祝好运


Vin*_*shi 12

如果有人使用Android工作室......

单击:构建>生成登录APK创建新密钥:这将生成".jks"文件

使用以下命令读取数据(SHA1和其他信息):

$ keytool -list -v -keystore filename.jks