我已将自己从_95544改为Android Studio . 现在我正在尝试使用我的 Map 应用程序 . 所以我需要我的SHA-1指纹证书号码 .
当我使用Eclipse时,它正好在 Windows -> Preferences -> Android -> Build 下 . 但是在Android Studio中我找不到这样的选项,以便我可以轻松找到指纹 . 我正在使用Windows . 我从这个link读到:
当您从IDE运行或调试项目时,Android Studio会自动在调试模式下签署您的应用程序 .
所以我尝试在从this link设置我的Java bin路径后在命令行中运行它,但遗憾的是找不到我的指纹 . It is saying that it is an illegal option .
keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
有没有办法从Android Studio中找到SHA-1指纹,就像在Eclipse中一样容易?由于我是Android Studio中的新手,找到它的完整过程是什么?
我想要添加的另一件事是,我的Eclipse生成了SHA-1指纹,之前我在Google开发人员控制台中的指纹上注册了我的应用程序,并且我通过该API密钥在Eclipse中使用该应用程序 . 在Android Studio中我的项目是否可以使用相同的API密钥?
30 回答
Gnu/Linux - Mac - Windows 非常容易
First: - 复制此命令
Second: 现在将命令复制并粘贴到Android Studio的终端中
Result!
Good Luck!!
我想用Softcoder给出的答案添加一个东西 . 我看到有些人无法在
command line
上正确提供 debug.keystore 路径 . 他们看到他们正在做上面接受的确切过程,但它没有用 . 此时尝试拖动debug.keystore并将其放在命令行上 . 如果接受的答案不适合您,这将有所帮助 . 毫不犹豫地完成整个过程 . 这是一个很好的答案 .对于Mac,这非常有效:
For Linux & Mac
要获取 生产环境 密钥库的SHA1:
构建 - >生成签名APK ...
使用密码创建密钥库并按照步骤操作
转到Mac / Library / Java / JavaVirtualMachines / jdk1.8.0_20.jdk / Contents / Home / bin并在cd命令指向后将bin文件夹拖到终端,这样就可以使用keytool工具了 . 所以,在终端写入
cd
(在这里拖动bin)然后按回车键 .然后,将其复制并粘贴到终端中:
擦除我的路径并转到存储密钥库的位置并拖动梯形图并在命令行中将其放在
-keystore
之后,以便创建路径 .另外,擦除Your_keystore_AliaseName以放置您在创建时使用的别名keystone名称 .
按Enter键输入密码:)
当您输入密码时,终端不会显示它接收键盘输入,但实际上确实如此,所以即使您没有看到输入密码,也要输入密码并按Enter键 .
为Android生成SHA-1密钥的最佳解决方案是Android Studio .
点击最右侧的Gradle:
单击刷新图标,您将看到应用程序的名称:
单击任务 - >报告 - >签名报告:
在控制台的底部找到SHA-1键:
单击右窗格中的Gradle图标 .
单击根项目名称 .
单击“任务”
点击Android
单击signingReport
在底部窗格中
,您可以在其中看到“运行报告”
点击"Toggle Tasks Execytions/text mode"
你可以看到sha-1
我刚刚在Android Studio中找到了获得SHA-1的案例:
点击您的包裹,然后选择新建 - > Google - > Google Map 活动
Android Studio会将您重定向到google_maps_api.xml
你会看到所有你需要的
google_maps_key
.单击右侧面板上的Gradle图标,然后单击(根) .
然后Gradle脚本将执行,您将看到您的密钥 .
转到文件>项目结构选择“app”或“mobile”,无论您从“模块”中选择名称,都可以选择“签名”选项卡 .
您可以单击“”按钮添加证书 .
使用keytool使用API Manager中的说明:
[Updated 2017]
Step 1: On Top Right side of Android Studio Click On Gradle option.
Step 2:
单击Refresh(单击Refresh from Gradle Bar,您将看到项目的List Gradle脚本)
单击您的项目(您的项目名称表单列表(根))
单击“任务”
点击Android
双击signedReport(您将在Gradle控制台/运行栏中获得SHA1和MD5)
Step 3: Click on the Gradle Console option present bottom of Android Studio to see your SHA1 Key.
Step 4: 现在您已获得SHA密钥但无法运行项目 . 这就是为什么将配置更改为应用程序模式的原因 . 见下图 .
像这样 .
Step 5: Happy Coding!!
我使用终端从Mac直接使用了以下命令 . 我有SHA1手指 . 这是命令:
对于Windows 10,来自Android Studio终端:
注意:对于
debug.keystore
,密码为"android" . 调试密钥库通常位于"%USER_PROFILE%"/.android/debug.keystore
.在Android Studio V 1.5.1中创建新的"Google Maps Project"时,最后一个屏幕将打开
google_maps_api.xml
文件并显示屏幕,其中包含如下说明:资源:
要获得 GOOGLE MAPS KEY ,只需剪切并粘贴您在浏览器中提供的URL链接,并在创建新应用程序时按照上述说明操作 .
SHA-1
和Package names
已经在给定的链接中,因此您无需了解它们 . 但是,当您按照创建项目的说明完成时,它们将位于resources>Values>google_maps_api.xml
文件中的项目中 .Simple, Call this methods in your Splash Screen: hash() and getCertificateSHA1Fingerprint(), and then then keys would be visible in log
谢谢 .
您可以使用以下命令并使用您的系统名称更改AJAY SUNDRIYAL . 这仅适用于您的debug.keystore . 这将适合您 .
我将与@Hiren Patel一起回答,但在 android studio 2.2 稍有变化
这对我有用:
将path-to-debug-or-production-keystore放在此处,如C:\ users \ youruser.android \ debug.keystore -list -v
确保您已在命令或终端窗口中的
Java\jdk*\bin
目录中 .然后使用Android作为密码 .
有时网络资源可能会产生误导 . 这些是工作的:
SHA1 Fingerprint Tutorial
Quick Start Sample app
这适用于我的情况:使用 %USERPROFILE% 而不是自动提供存储在此路径中的路径.keystore文件 C:Users/user name/.android :
如果Google Maps需要SHA1,您可以在LogCat中看到错误日志 .
如果你有Android Studio那么它非常简单 . 只需使用Android Studio创建MapActivity,创建后即可进入google_maps_api.xml . 在那里,评论中会给出一个链接 . 如果您将其粘贴到浏览器中,它会询问一些细节,然后生成您的API . 不需要使用keytool和all .
截屏:
密钥库的路径是双引号 . 它工作正常 .
我的问题与我将Google Maps项目从 Eclipse 转移到 Android Studio 一样 . 我通过以下方式解决了我的问题:
通过以下命令转到Java bin目录:
现在在命令窗口(CMD.EXE)中键入以下命令:
例:
或者如果你不知道用户名,你可以在cmd中写这个:
你会得到SHA1 .
然后我从https://code.google.com/apis/console创建了一个新密钥,因为我的软件包名称已更改,然后在我的应用程序中使用此密钥 . 它工作正常 .
确保你在 jdkX.X.X_XX (my folder name is jdk1.7.0_71) 的 BIN 文件夹中,否则如果你不知道你有什么文件夹名称,那么打开Java文件夹找到它,你会看到文件夹名称是什么,但你必须在你的BIN文件夹中然后运行此命令 . 今天我通过上面的过程在cmd命令窗口中得到了我的SHA1值 .
SNAPSHOT:
我是这样做的:
第1步:转到此文件夹
在Mac上:/Users//.android/
在Windows上:C:\ Documents and Settings \ .android \
在Linux上:〜/ .android /
第2步:运行此命令行:
您将看到SHA-1密钥 .
获取指纹的最简单方法是通过单击下拉菜单并单击构建,从应用程序切换到已签名的报告 .
然后,您将能够在底部窗格中看到sha1指纹,您可以在其中看到调试报告和堆栈跟踪 . N.B记得在想要在设备或模拟器上运行应用程序时切换回应用程序 .
Easiest ways ever:
在上一步中为Android Studio V 2.2添加了更新
有两种方法可以做到这一点 .
1. Faster way :
打开Android Studio
打开您的项目
点击Gradle(从右侧面板,你会看到 Gradle Bar )
单击刷新(单击从 Gradle Bar 刷新,您将看到项目的 List Gradle脚本)
单击您的项目(您的项目名称表单 List (根))
单击“任务”
点击Android
双击signedReport(您将在 Run Bar 中获得 SHA1 和 MD5 (有时它将在Gradle控制台中))
从 module selection dropdown 中选择 app 模块以运行或调试您的应用程序
Check the screenshot below:
2. Work with Google Maps Activity :
打开Android Studio
打开您的项目
点击 File 菜单 - >选择 New - >点击 Google - >选择 Google Maps Activity
将出现一个对话框 - >单击 Finish
Android Studio会自动生成带有
google_maps_api.xml
的 XML 文件 named你会在这里获得 debug SHA1 键(在XML文件的 line number 10 处)
Check Screenshot below:
Android Studio V 2.2更新
Execution 存在问题 .
Solution:
Check Screenshot below:
Done.
使用简单的命令:
keytool -exportcert -keystore path-to-debug-or-production-keystore -list -v
你将获得SHA1密钥 .
它仅适用于调试模式 . 在realease模式中,我看不到sha-1 . 这是
gradlew signingReport
的结果所以我必须使用keytool来获得sha-1 . 这里官方Firebase文档:
Get_sha-1_for_release
如果您使用的是Android Studio,则可以通过 Gradle Tasks 快速获取 SHA-1 and MD5 certificate 指纹(debug,release ... all Build Types !!):
SHA-1和MD5证书显示在 Messages Logs 中 .
Android插件(在Gradle应用程序中配置)创建默认的调试模式 .
到密钥库的文件路由:
我建议 attach
debug.keystore
到build.gradle
. 要执行此操作,请将文件debug.keystore
放在app文件夹中,然后在Gradle app中添加SigningConfigs:额外:如果要创建发布,请将文件
release.keystore
放在应用程序文件夹中 . (此示例使用相同的debug.keystore
. )