我已将自己从Eclipse转移到Android Studio。现在我正在尝试使用我的地图应用程序。所以我需要我的SHA-1指纹证书编号。
当我使用Eclipse时,它正好在 Windows - >下偏好 - > Android - >构建即可。但是在Android Studio中,我找不到这样的选项,以便我可以轻松找到指纹。我正在使用Windows。我从这个link读到:
Android Studio会在您自动以调试模式签署您的应用 从IDE运行或调试项目。
所以我尝试在this link设置Java bin路径后在命令行中运行它,但遗憾的是找不到我的指纹。 据说这是非法选择。
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密钥?
答案 0 :(得分:1091)
最简单的方法:
有两种方法可以做到这一点。
<强> 1。更快的方式:
请查看以下屏幕截图:
<强> 2。使用Google地图活动:
答案 1 :(得分:287)
我的问题与我将Google Maps项目从 Eclipse 转移到 Android Studio 相同。我通过以下方式解决了我的问题:
通过以下命令转到Java bin目录:
C:\Program Files\Java\jdk1.7.0_71\bin>
现在在命令窗口(CMD.EXE)中键入以下命令:
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创建了一个新密钥,因为我的软件包名称已更改,然后在我的应用程序中使用此密钥。它工作正常。
确保您位于 jdkX.X.X_XX(我的文件夹名称为jdk1.7.0_71)的 BIN 文件夹中,否则如果您不知道是什么您可以通过打开Java文件夹找到它的文件夹名称,您将看到文件夹名称是什么,但您必须在BIN文件夹中然后运行此命令。今天我通过上面的过程在cmd命令窗口中得到了我的SHA1值。
<强>快照:强>
答案 2 :(得分:112)
对于Mac,这非常有效:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
答案 3 :(得分:112)
我刚刚找到了在Android Studio中获取SHA-1的案例:
您将看到获得google_maps_key
所需的一切。
答案 4 :(得分:38)
为Android生成SHA-1密钥的最佳解决方案来自Android Studio。
点击最右侧的Gradle:
点击刷新图标,您将看到该应用的名称:
点击任务 - &gt; 报告 - &gt; 签署报告:
在控制台的底部找到SHA-1键:
答案 5 :(得分:35)
[2017年更新]
第1步:在Android Studio的右上角单击“Gradle”选项。
第2步:
- 点击刷新(点击从Gradle Bar刷新,你会看到项目的List Gradle脚本)
- 单击您的项目(您的项目名称表单列表(根))
- 点击任务
- 点击Android
- 双击signedReport(您将在Gradle控制台/运行栏中获得SHA1和MD5)
第3步:点击Android Studio底部的Gradle Console选项,查看您的SHA1密钥。
第4步:现在您已获得SHA密钥但无法运行项目。这就是为什么将配置更改为应用模式的原因。见下图。
喜欢这个。
第5步:快乐编码!!
答案 6 :(得分:22)
答案 7 :(得分:21)
许多用户已经给出了他们的答案,并且在低于 4.2 的 Android Studio 版本中运行良好。但是对于 Android Studio 4.2 和更新版本,请按照以下步骤生成 SHA 密钥。这些图片中给出了步骤。
步骤:-
1) 点击gradle。 Android Studio 的右上角。正如你在这张图片中看到的。
2) 现在点击图标,如下图所示。将打开一个新的可搜索窗口/屏幕。
3) 现在输入gradle签名报告并按回车开始生成SHA KEY< /strong> 如下图所示。
4) 您的 SHA 密钥 将生成如下图所示。使用这些步骤,您可以在 Android Studio 4.2 中生成 SHA KEY。
答案 8 :(得分:18)
适用于Linux&amp; Mac
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
答案 9 :(得分:12)
我使用终端从Mac上直接使用了以下命令。我有SHA1手指。这是命令:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
答案 10 :(得分:9)
获取生产密钥库的SHA1:
构建 - &gt;生成签名APK ...
使用密码创建密钥库并按照步骤
转到Mac / Library / Java / JavaVirtualMachines / jdk1.8.0_20.jdk / Contents / Home / bin并在cd命令指向它后将bin文件夹拖到终端,这样就可以使用keytool工具。所以,在终端写cd
(在这里拖动垃圾箱),然后按回车。
然后,将其复制并粘贴到终端:
keytool -exportcert -alias Your_keystore_AliasName -keystore /Users/Home/Development/AndroidStudioProjects/YoutubeApp/app/YoutubeApp_keystore.jks -list -v
删除我的路径并转到存储密钥库的位置,然后拖动您的keystone并在命令行中将-keystore
删除,以便创建路径。
另外,擦除Your_keystore_AliaseName以放置您在创建时使用的别名keystone名称。
按 Enter 并输入密码:)
当您输入密码时,终端不会显示它接收键盘输入,但实际上是这样,所以输入密码并按 Enter 即使您没有看到输入密码。
答案 11 :(得分:8)
在 Gnu / Linux - Mac - Windows
首先: - 复制此命令
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
第二:现在将命令复制并粘贴到Android Studio的终端中
<强>结果!强>
祝你好运!
答案 12 :(得分:8)
答案 13 :(得分:8)
如果您使用的是Android Studio,则可以快速获取 SHA-1和MD5证书指纹(调试,发布... 所有构建类型 !!) Gradle Tasks :
signingReport
SHA-1和MD5证书显示在消息日志。
中Android插件(在Gradle应用程序中配置)创建默认的调试模式。
com.android.application
到密钥库的文件路径:
HOME/.android/debug.keystore
我建议附加 debug.keystore
到build.gradle
。为此,将文件debug.keystore
放入app文件夹,然后在Gradle app中添加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"
}
}
........
}
额外:如果您希望创建发布,请将文件release.keystore
放入应用文件夹中。 (此示例使用相同的debug.keystore
。)
答案 14 :(得分:7)
如果你有Android Studio那么它非常简单。只需使用Android Studio创建MapActivity,创建后即可进入google_maps_api.xml。在那里,评论中会有一个链接。如果您将其粘贴到浏览器中,它会询问一些细节,然后生成您的API。不需要使用keytool和所有。
屏幕截图:
答案 15 :(得分:6)
使用简单的命令:
keytool -exportcert -keystore path-to-debug-or-production-keystore -list -v
您将获得SHA1密钥。
答案 16 :(得分:6)
这适用于我的情况:使用%USERPROFILE%而不是自动提供存储在此路径中的路径.keystore文件 C:用户/用户名/ .android :< / p>
keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
答案 17 :(得分:5)
我找到了一个非常简单的过程来找到你使用的MD5,SHA-1指纹 Android Studio。
- 运行您的项目
- 转到Gradle菜单(菜单:查看 - &gt;工具窗口 - &gt; Gradle)
- 转到Gradle窗口中的'signingReport'。 (您的项目 - &gt;任务 - &gt; android - &gt; signingReport)
- 运行它。 (使用双击或Ctrl + Shift + F10)
- 在“运行”窗口中,您将找到所有信息。
醇>
它仅适用于调试模式。在realease模式中,我看不到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文档:
答案 18 :(得分:5)
我想在Softcoder给出的答案中添加一个内容。我看到有些人无法在command line
上正确地提供 debug.keystore 路径。他们看到他们正在做上面接受的确切过程,但它不起作用。此时尝试拖动debug.keystore并将其放在命令行上。如果接受的答案不适合您,这将有所帮助。毫不犹豫地完成整个过程。这是一个很好的答案。
答案 19 :(得分:5)
对于Windows 10,来自Android Studio终端:
keytool -exportcert -alias androiddebugkey -keystore %USER_PROFILE%"/.android/debug.keystore -list -v
注意:对于debug.keystore
,密码为&#34; android&#34;。调试密钥库通常位于"%USER_PROFILE%"/.android/debug.keystore
。
答案 20 :(得分:4)
我是这样做的:
第1步:转到此文件夹
On Mac: /Users/<username>/.android/
On Windows: C:\Documents and Settings\<username>\.android\
On Linux: ~/.android/
第2步:运行此命令行:
keytool -list -v -keystore debug.keystore -storepass android
您将看到SHA-1键。
答案 21 :(得分:4)
如果您只想查看 SHA 证书值,则可以从 android 文件夹运行:
gradlew signingReport
...这会让您快速轻松地查看指纹
答案 22 :(得分:4)
单击右侧面板上的Gradle图标,然后单击(根)。
任务&gt; android&gt; signingReport
然后Gradle脚本将执行,您将看到您的密钥。
答案 23 :(得分:3)
在Android studio 4+(不确定版本)中,如果您点击右侧栏中的Gradle
,它不会显示任何生成签名报告的选项。它会告诉你:
点击 Task list not built...
信息并取消选中选项 Do not build gradle task list..
并保存设置。
答案 24 :(得分:2)
使用keytool的API Manager中的说明:
从AndroidManifest.xml文件中获取包名称。然后使用 以下命令获取指纹:
<强>
keytool -list -v -keystore mystore.keystore
强>
答案 25 :(得分:2)
在Android Studio V 1.5.1中创建新的&#34; Google Maps Project&#34;时,最后一个屏幕会打开google_maps_api.xml
文件并显示屏幕,其中包含以下说明:
资源:
TODO:在运行应用程序之前,您需要一个Google Maps API密钥。
要获得一个,请点击此链接,按照说明操作,然后按&#34;创建&#34;最后:
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获得密钥后(以&#34; AIza&#34;开头),替换&#34; google_maps_key&#34;此文件中的字符串。
<string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">YOUR GOOGLE MAPS KEY</string>
要获取 GOOGLE MAPS KEY ,只需将提供的网址链接剪切并粘贴到您的浏览器中,然后在创建新应用程序时按照上述说明操作。 SHA-1
和Package names
已经在给定的链接中,因此您无需了解它们。但是,当您按照创建项目的说明完成时,它们将位于resources>Values>google_maps_api.xml
文件中的项目中。
答案 26 :(得分:1)
密钥库的路径是双引号。它工作正常。
keytool -list -v -keystore "C:\Users\App innovation\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
答案 27 :(得分:1)
对于 Android Studio 4.2 或新版
转到右侧的Gradle
然后您必须输入signingreport并按回车这将执行命令并提供结果。
对于旧版 Android Studio
您可以在旧版本上按照上述所有步骤获得结果。
答案 28 :(得分:1)
如果Google Maps需要SHA1,您只需在LogCat中看到错误日志。
答案 29 :(得分:1)
对我来说,最快捷的方法是在终端命令行中输入./gradlew signingReport
。
答案 30 :(得分:1)
这对我有用:
keytool -exportcert -alias androiddebugkey -keystore
将path-to-debug-or-production-keystore放在此处,如C:\ users \ youruser.android \ debug.keystore -list -v
确保您已经位于命令或终端窗口的Java\jdk*\bin
目录中。
然后使用Android作为密码。
有时网络资源可能会产生误导。这些是有效的:
答案 31 :(得分:1)
您可以使用以下命令并使用您的系统名称更改AJAY SUNDRIYAL。这仅适用于您的debug.keystore。这对您有用。
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
答案 32 :(得分:1)
转到文件&gt;项目结构
无论您从app
mobile
或Modules
选择Signing
标签。
您可以在 + 按钮上添加证书。
答案 33 :(得分:0)
简单,在启动画面中调用此方法:hash()和getCertificateSHA1Fingerprint(),然后在日志中显示键
MEDIA_URL
谢谢。
答案 34 :(得分:0)
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
答案 35 :(得分:0)
请按照以下步骤操作
gradle(在右上角)> 点击你的项目名称> Tasks > android > 双击signingReport
然后你会在4:Run中得到SHA1等信息(会自动出现)。
答案 36 :(得分:0)
获取指纹的最简单方法是通过单击下拉菜单并单击构建,从应用程序切换到已签名的报告。
然后,您将能够在底部窗格中看到sha1指纹,您可以在其中看到调试报告和堆栈跟踪。当您想在设备或模拟器上运行应用程序时,N.B记得切换回应用程序。
答案 37 :(得分:-1)
第一步,进入C盘,打开“程序文件”->“打开JAVA文件夹”->“打开Bin并双击jarsigner.exe”
然后打开Cmd
转到C:\ Program Files \ Java \ jdk1.8.0_191 \ bin,然后输入然后转到C:\ Program Files \ Java \ jdk1.8.0_191 \ bin> keytool -list -keystore“ F:\ BTG UPDATE BUILD \ Beyond_The_Game.jks“
答案 38 :(得分:-1)
我正在这样做它的工作
keytool.exe -list -v -alias ALIAS_NAME -keystore "E:\MID_PATH\trackMeeKeyStore.jks" -storepass PASS -keypass PASS