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

我正在尝试按照https://developers.google.com/console/help/#installed_applications中的步骤注册我的Android应用程序,这使我可以按照http://developer.android.com/tools/publishing/app- signing.html 。

但是,我不确定如何获取签名证书指纹(SHA1)。

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

我可以先使用debugging证书吗?

开始导出过程为您的应用程序创build一个apk并使用您的生产密钥。 最后一页显示您的SHA1和MD5证书指纹 在这里输入图像描述

我知道这个问题已经被回答,但这是我如何find我的签名默认密钥库。 在Eclipse中,如果你转到Windows – >首选项 – > Android – >生成

在这里输入图像描述

我认为这将是完美的。 我用同样的:

对于Android Studio:

  1. 点击Build > Generate Signed APK
  2. 你会得到一个消息框,只需点击确定。
  3. 现在将有另一个窗口只是复制密钥存储path
  4. 现在打开命令提示符并转到C:\ Program Files \ Java \ jdk1.6.0_39 \ bin> (或任何已安装的jdk版本)。
  5. 键入keytool -list -v -keystore然后粘贴你的密钥存储path (例如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证书密钥。

在命令行中使用这个

 c:\Program Files\Java\jdk1.6.25\bin>keytool -list -v -keystore c:\you_key_here.key 

打开terminal(在Unix中 ,在MAC中 ),(在Windows中的 cmd ),并cd到这个(你的Java)path:

 C:\Program Files\Java\jdk1.6.0_43\bin> 

运行这个命令:

 keytool -list -v -keystore C:\Users\leon\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android 

只需将path更改为debug.keystore ,即可同时获得MD5和SHA-1指纹。

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

  keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android 

示例输出:

 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 
 keytool -list -v -keystore "keyStoreName" 

从您的应用程序的密钥库所在的目录运行此命令。

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

如果您使用JDK 1.6 ,Keytool命令会生成MD5指纹,如果您使用JDK 1.6 ,则会生成SHA1指纹。

所以事情是,如果你想签署你的应用程序发布然后阅读这个 。

如果你想使用google-map阅读此 。

如果有人使用Android工作室…

点击:生成>在APK中生成签名创build一个新的密钥:这将生成“.jks”文件

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

$ keytool -list -v -keystore filename.jks

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

填写popup窗口后,获取“密钥存储path”字段中的数据(例如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 ... 

祝你好运

在ANDROID STUDIO中请按照以下步骤操作:1.单击android studio IDE右侧的Gradle properties菜单。 2.展开任务树。 3.点击签名报告你可以看到你的SHA1在底部的控制台在这里input图像描述

对于那些使用OpenSSL的用户,您可以通过以下方式检索SHA1指纹:

 OpenSSL> dgst -sha1 my-release-key.keystore 

这将导致以下输出:

在这里输入图像描述

如果您正在使用Android Studio。 您可以通过Gradle任务快速获得SHA1证书指纹(debugging,发布… 所有Buildtypes !!):

signingReport

消息日志中显示SHA1

Android插件(在gradle应用程序中configuration)创build一个默认的debugging模式。

com.android.application

到密钥库的文件路由:

HOME / .android / debug.keystore

我build议附加 debug.keystore build.gradle。 为此,将一个文件debug.keystore放到应用程序文件夹中,然后在gradle应用程序中添加SigningConfigs:

 apply plugin: 'com.android.application' android { ................ signingConfigs { debug { storeFile file("../app/debug.keystore") storePassword "android" keyAlias "androiddebugkey" keyPassword "android" } release { storeFile file("../app/debug.keystore") storePassword "android" keyAlias "androiddebugkey" keyPassword "android" } } ........ } 

额外:如果你想创build释放,把一个文件release.keystore到一个应用程序文件夹。 (这个例子使用相同的debug.keystore)

如果您正在使用Android Studio。 使用cmd提示符不需要生成SHA1指纹。 您只需要使用Android Studio的默认Maps Activity创build项目。在该项目中,您可以在Values文件夹下的google_maps_api.xml中获取指纹。 希望这会帮助你。 🙂

在这里输入图像描述

试试这个:Windows —-首选项—- Android – 编译—从这里复制sh1代码

对于那些在Mac上寻找keytool。 按着这些次序:

首先确保安装Java JDK http://docs.oracle.com/javase/7/docs/webnotes/install/mac/mac-jdk.html

然后在命令提示符下input:

/usr/libexec/java_home -v 1.7

它会吐出类似于:

 /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home 

keytool位于与javac相同的目录中。 即:

 /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin 

从bin目录可以使用keytool。

我认为这将是完美的。 我用同样的:

对于Android Studio:

点击Build> Generate Signed APK。 你会得到一个消息框,只需点击确定。

现在将有另一个窗口只是复制密钥存储path。

现在打开命令提示符并转到C:\ Program Files \ Java \ jdk1.6.0_39 \ bin>(或任何已安装的jdk版本)。

键入keytool -list -v -keystore然后粘贴你的密钥存储path(例如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“)。

现在它会询问密码商店密码,提供您的密码,然后按Enter键以获得您的SHA1和MD5证书密钥。

现在将这个SHA1键添加到凭证标签中的Google开发人员控制台,并将android studio中的构build变体更改为释放模式。

我第一次非常困惑,但是我build议你最后 的Windows 解决scheme

1)打开cmd并进入你的Java / jdk / bin目录(只需按cd ..去一个文件夹, cd NAME_FOLDER去一个文件夹转发),在我的情况下,最后的文件夹: C:\Program Files\Java\jdk1.8.0_73\bin> 在这里输入图像描述

2)现在键入这个命令keytool -list -v -keystore C:\Users\YOUR_WINDOWS_USER\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android

结果你必须得到这样的东西: 在这里输入图像描述

这是我的这个简单的解决scheme..

点击Gradlebutton,你可以在右侧find顶部。 你会看到所有的gradle文件。 现在去android,双击signingReport。 一旦gradle构build完成,您将看到SHA键。 检查下面的图像一步一步的指导。

一旦你点击Gradle,检查下面的图像。 希望这有助于某人。

STEP1: Image第一步

第二步 图像第二步

使用portecle :

  • 文件>打开密钥库文件
  • input密钥库密码
  • 右键单击别名名称>证书详细信息> SHA-1指纹

获取SHA-1的最简单方法对于发布和debugging模式android studio gradle。 检查这个

我想通知那些和我有同样问题的人。 我经历了这些步骤来生成我的debuggingSHA-1和我的版本SHA-1。 我试图将Google Sign-In API与我的应用程序连接起来。

我遇到了这个问题,debugging.apk会正常工作,它会连接和authentication与谷歌login。 当手动安装到手机上时,我的发行版.apk也可以工作。 当我将我的发布.apk发布到Google Play商店时,我的Googlelogin无法进行身份validation,而且会遇到问题!

最长的时间,我无法弄清楚,但我发现我的应用程序正在签署谷歌,即在开发人员控制台顶部的消息显示: 谷歌播放应用程序签名启用此应用程序。

我去我的发布pipe理选项卡,然后滚动到应用程序签名,并在那里find了SHA-1。 添加到我的代码和我用作Googlelogin后端的“firebase控制台”之后,一切似乎都奏效了。 它看起来像我的发行密钥库被取代谷歌签署的证书…我不确定是否这是发生了什么事情,但它解决了我的问题,并允许我的谷歌Play商店发布apk正确authentication与谷歌标志在!

一步一步的解决scheme:

  1. 打开您的命令提示符或Macterminal
  2. 将目录切换到keytool文件位置的目录。 通过使用命令cd <directory path>更改目录。 (注意:如果有任何目录名称有空格,则在这两个单词之间加上\例子cd /Applications/Android\ Studio.app//Contents/jre/jdk/Contents/Home/bin/

    • 要find你的keytool的位置,你去android studio..open你的项目。 然后去

    • 文件>项目结构> SDK位置。并findJDK位置。

  3. 使用以下命令运行keytool: keytool -list -v –keystore <your jks file path> (注意:如果任何目录名都有空格,那么在两个单词之间加上\例如keytool -list -v -keystore /Users/username/Desktop/tasmiah\ mobile/v3/jordanos.jks

  4. 命令提示你input密码..所以键入你的密码..然后你得到的结果