如何在Android Studio中获取SHA-1指纹证书的debugging模式?

我已经从Eclipse转移到了Android Studio 。 现在我正在尝试在我的地图应用程序上工作。 所以我需要我的SHA-1指纹证书号码。

当我使用Eclipse的时候,它正好在Windows – > Preferences – > Android – > Build下 。 但在Android Studio中,我找不到任何这样的选项,以便我可以轻松find指纹。 我正在使用Windows。 我从这个链接中读到:

当您从IDE运行或debugging您的项目时,Android Studio会自动在debugging模式下对您的应用程序进行签名。

所以我试图在命令行中运行这个从这个链接设置我的Java binpath后,不幸的是找不到我的指纹。 这是说这是一个非法的select

keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android 

有没有办法从Android Studio中findSHA-1指纹,就像在Eclipse中非常容易? 由于我是Android Studio的新手,那么find它的完整过程是什么?

我想补充的另一件事是我有我的Eclipse生成的SHA-1指纹,以前我有我的应用程序在Google开发人员控制台的指纹注册,我在该API的密钥在Eclipse的工作。 在Android Studio中,我的项目是否可以使用相同的API密钥?

最简单的方法:

在上一步中为Android Studio V 2.2添加了更新

有两种方法可以做到这一点。

1.更快的方法

  1. 打开Android Studio
  2. 打开你的项目
  3. 点击Gradle(从右侧面板,你会看到Gradle Bar
  4. 点击刷新(点击从Gradle Bar刷新,你会看到你的项目列表 Gradle脚本)
  5. 点击您的项目(您的项目名称表单(根))
  6. 点击任务
  7. 点击Android
  8. 双击签名报告(您将在运行栏中获得SHA1MD5 (有时会在Gradle控制台中))
  9. 模块select下拉列表中select应用模块以运行或debugging您的应用程序

检查下面的截图:

在这里输入图像描述

2.使用Google地图活动

  1. 打开Android Studio
  2. 打开你的项目
  3. 点击文件菜单 – >select新build – >点击Google – >selectGoogle地图活动
  4. 会出现一个对话框 – >点击完成
  5. Android Studio会自动生成一个名为 google_maps_api.xmlXML文件
  6. 您将在此处获得debuggingSHA1密钥(在XML文件的第10行

检查下面的截图:

在这里输入图像说明

Android Studio V 2.2更新

执行有一个问题。

解:

  • 点击运行栏中的 切换任务执行/文本模式

检查下面的截图:

在这里输入图像描述

完成。

我的问题是一样的,我也把我的Google地图项目从Eclipse转移到Android Studio 。 我通过以下方式解决了我的问题:

通过以下命令转到Java bin目录:

 C:\Program Files\Java\jdk1.7.0_71\bin> 

现在在你的命令窗口(CMD.EXE)中input下面的命令:

 keytool -list -v -keystore c:\users\your_user_name\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android 

例:

 keytool -list -v -keystore c:\users\James\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android 

或者,如果你不知道用户名,你可以直接在cmd中写:

 keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android 

你会得到SHA1。

然后,我从https://code.google.com/apis/console创build了一个新密钥,因为我的软件包名称已更改,然后在我的应用程序中使用此密钥。; 它工作正常。

确保你在jdkX.X.X_XX的 BIN文件夹(我的文件夹名是jdk1.7.0_71) ,否则如果你不知道你有什么文件夹名,那么通过打开Java文件夹find它,你会看到什么文件夹名称,但是你必须在你的BIN文件夹,然后运行这个命令。 今天我通过上面的程序在cmd命令窗口中获得了我的SHA1值。

快照:

在这里输入图像说明

我刚刚在Android Studio中find了获取SHA-1的情况:

  1. 点击你的软件包,然后select新build – > Google – > Google地图活动
  2. Android Studio将您redirect到google_maps_api.xml

你会看到所有你需要得到google_maps_key

图片

对于Mac来说,这是完美的:

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

(谷歌search降落在这里。)

为Android生成SHA-1密钥的最佳解决scheme来自Android Studio 。

点击最右边的Gradle:

点击刷新图标,你会看到应用程序的名称:

点击任务 – > 报告 – > 签署报告

在控制台底部findSHA-1键:

[更新2017年]

步骤1:在Android Studio的右上angular单击On Gradle选项。

Android Studio点击Gradle选项

第2步:

– 点击刷新(点击从Gradle Bar刷新,你会看到你的项目列表Gradle脚本)

– 点击您的项目(您的项目名称表单(根))

– 点击任务

– 点击Android

– 双击签名报告(您将在Gradle Console / Run Bar中获得SHA1和MD5)

在这里输入图像描述

第3步:点击Android Studio的Gradle Console选项,查看您的SHA1密钥。

在这里输入图像描述

第4步:现在你得到了SHA键,但你不能运行你的项目。这就是为什么改变你的configuration到应用程序模式。 看下面的图片。

在这里输入图像描述

喜欢这个。

在这里输入图像描述

第5步:快乐编码!

我将与@Hiren Patel答案,但在Android工作室2.2稍微改变

在这里输入图像描述

对于Linux

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

我直接从我的Mac使用terminal使用以下命令。 我有SHA1手指。 这是命令:

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

Gnu / LinuxMacWindows中非常简单

第一:复制这个命令

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

第二:现在复制并粘贴在Android Studioterminal的命令 在这里输入图像描述

结果!

在这里输入图像描述

祝你好运!!

为获取生产密钥库的SHA1:

  1. 生成 – >生成已签名的APK …

  2. 使用密码创build密钥库并按照步骤操作

  3. 进入你的Mac / Library / Java / JavaVirtualMachines / jdk1.8.0_20.jdk / Contents / Home / bin,然后把cd文件夹拖到terminal上,这样你就可以使用keytool工具。 所以,在terminal写cd (在这里拖动bin),然后按回车。

  4. 然后,将其复制并粘贴到terminal中:

     keytool -exportcert -alias Your_keystore_AliasName -keystore /Users/Home/Development/AndroidStudioProjects/YoutubeApp/app/YoutubeApp_keystore.jks -list -v 

    擦除我的path,并去你存储密钥库的地方,拖动你的梯形失真并将它放在命令行中的-keystore之后,这样path就会被创build。

    另外,擦除Your_keystore_AliaseName以放置您在创build时使用的别名keystone名称。

  5. Enter键并input密码:)

  6. 当你input密码时,terminal不会显示它收到键盘input,但实际上是这样的,所以把密码input ,然后按回车,即使你没有看到input的密码。

如果你有Android Studio那么它非常非常简单。 只需使用Android Studio创build一个MapActivity,创build后进入google_maps_api.xml。 在那里会有评论中的链接。 如果您将其粘贴到浏览器中,它会要求填写一些细节,之后您的API将被生成。 没有必要使用keytool和所有。

屏幕截图:

在这里输入图像说明

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

signingReport

消息日志中显示了SHA-1和MD5证书。

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 。)

对于Windows 10 ,从Android Studioterminal:

 keytool -exportcert -alias androiddebugkey -keystore %USER_PROFILE%"/.android/debug.keystore -list -v 

注意:对于debug.keystore ,密码是“android”。 debugging密钥库通常位于"%USER_PROFILE%"/.android/debug.keystore

我想添加一个与Softcoder给出的答案 。 我看到有些人不能正确地在command line上提供他们的debug.keystorepath。 他们看到他们正在做上面接受的确切的过程,但它不起作用。 在这一点上,尝试拖动debug.keystore并将其放在命令行上。 如果接受的答案不适合你,这将有所帮助。 毫不犹豫地完成整个过程。 这是一个很好的答案。

使用简单的命令:

keytool -exportcert -keystore path-to-debug-or-production-keystore -list -v

你将得到SHA1密钥。

我发现一个非常简单的过程,find你使用Android Studio的MD5,SHA-1指纹。

  1. 运行你的项目
  2. 进入Gradle菜单(菜单:视图 – >工具窗口 – > Gradle)
  3. 转到Gradle窗口中的“signingReport”。 (你的项目 – >任务 – > android – >签名报告)
  4. 运行。 (使用双击或Ctrl + Shift + F10)
  5. 在运行窗口中,你会发现所有的信息。

这只适用于debugging模式。 在释放模式下,我看不到sha-1。 这里是gradlew signingReport结果

 Variant: release Config: none ---------- Variant: releaseUnitTest Config: none ---------- Variant: debug Config: debug Store: path\Android\avd\.android\debug.keystore Alias: AndroidDebugKey MD5: xx:xx:xx:62:86:B7:9C:BC:FB:AD:C8:C6:64:69:xx:xx SHA1: xx:xx:xx:xx:0F:B0:82:86:1D:14:0D:AF:67:99:58:1A:01:xx:xx:xx Valid until: Friday, July 19, 2047 ---------- 

所以我必须使用keytool来获取sha-1。 这里官方的Firebase文档:

Get_sha-1_for_release

点击右侧面板上的Gradle图标,然后点击(根目录)。

任务> android> signingReport

然后Gradle脚本将执行,您将看到您的密钥。

这在我的情况下工作:使用%USERPROFILE%,而不是给path.keystore文件存储在此path自动C:用户/用户名/ .android

 keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android 

我这样做:

第1步:转到这个文件夹

在Mac上:/Users//.android/

在Windows上:C:\ Documents and Settings \ .android \

在Linux上:〜/ .android /

第2步:运行这个命令行:

 keytool -list -v -keystore debug.keystore -storepass android 

您将看到SHA-1密钥。

使用keytool使用API​​pipe理器中的指示信息:

从你的AndroidManifest.xml文件中获取包名。 然后使用以下命令获取指纹:

keytool -list -v -keystore mystore.keystore

在Android Studio V 1.5.1中创build新的“Google地图项目”时,最后一个屏幕将打开google_maps_api.xml文件,并按照以下说明显示屏幕:

资源:

TODO:在运行应用程序之前,您需要一个Google Maps API密钥。

要得到一个,按照这个链接,按照指示,并在最后按“创build”:

https://console.developers.google.com/flows/enableapi?apiid=maps_android_backend&keyType=CLIENT_SIDE_ANDROID&r=您的SHA-1 +您的套餐名称

您也可以使用以下行将您的凭据添加到现有密钥:
你的SHA-1:你的包装名称

或者,按照这里的指示:
https://developers.google.com/maps/documentation/android/start#get-key

一旦你有你的密钥(以“AIza”开头),replace这个文件中的“google_maps_key”string。
<string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">YOUR GOOGLE MAPS KEY</string>

要获得您的GOOGLE MAPS KEY,只需将给定的URL链接剪切并粘贴到您的浏览器中,并在创build新应用程序时按照上述说明进行操作。 SHA-1Package names已经在给定的链接中,所以你不需要知道它们。 但是,当您按照创build项目的说明操作时,它们将在您的项目中的resources>Values>google_maps_api.xml文件中完成。

这对我工作:

 keytool -exportcert -alias androiddebugkey -keystore 

把path-to-debug-or-production-keystore放在这里,就像C:\ users \ youruser.android \ debug.keystore -list -v

确保您已经在命令或terminal窗口中的Java\jdk*\bin目录中。

然后使用Android作为密码。

有时networking资源可能会引起误解。 这些是工作的:

  • SHA1指纹教程

  • 快速入门示例应用程序

如果您需要SHA1用于Google地图 ,则可以在LogCat中看到您的错误日志。

转到文件>项目结构无论您从“模块”名称中select“应用程序”或“移动”,请select“签名”选项卡。

您可以点击“+”button添加证书。

获取指纹的最简单的方法是通过单击下拉菜单并点击构build从应用程序切换到签名报告。

在这里输入图像描述

然后,您将能够看到底部窗格中的sha1指纹,您将看到debugging报告和堆栈跟踪。 注意当你想在设备或模拟器上运行你的应用程序时切换回应用程序。

您可以使用以下命令并更改AJAY SUNDRIYAL与您的系统名称。这仅适用于您的debug.keystore.This将为您工作。

 C:\Program Files\Java\jdk1.8.0_91\bin>keytool -list -v -keystore "c:\users\AJAY SUNDRIYAL\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android 

密钥库的path使用双引号。 它工作正常。

 keytool -list -v -keystore "C:\Users\App innovation\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android 
  1. 点击右窗格中的Gradle图标。
  2. 点击根项目名称。
  3. 点击任务
  4. 点击Android
  5. 点击签名报告
  6. 在你看到运行报告的底部窗格中
  7. 点击“切换任务执行/文本模式”
  8. 你可以看到sha-1

Android Studio SHA-1