我试图在Android工作室,在Windows上做一个地图应用程序。如何查询SHA-1指纹证书编号?

当我使用Eclipse时,它就在Windows ->首选项-> Android ->构建下。但在Android Studio中,我找不到类似的选项。

我在文档里看到

Android Studio自动在调试模式下签署应用程序 从IDE运行或调试项目。

所以我试着设置我的Java bin路径,并运行以下命令,从这里取:

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

然而,我得到了一个错误消息,说它是一个非法选项。

一步一步地,我如何在Android Studio中获得这些信息?

作为解决方案:我之前使用Eclipse生成的SHA-1指纹注册了我的应用程序。我可以使用相同的API键工作在我的项目在Android工作室?


当前回答

我发现了一个非常简单的过程来找到你的MD5, SHA-1指纹使用 Android工作室。 运行你的项目 转到Gradle菜单(菜单:视图->工具窗口-> Gradle) 转到Gradle窗口的signingReport。(你的项目->任务-> android -> signingReport) 运行它。(使用双击或Ctrl + Shift + F10) 在运行窗口,你会发现所有的信息。

它只适用于调试模式。在释放模式下,我看不到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

其他回答

这在我的情况下是有效的:使用%USERPROFILE%,而不是给出路径。keystore文件自动存储在这个路径C:Users/用户名/.android:

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

这招对我很管用:

keytool -exportcert -alias androiddebugkey -keystore

将调试或生产密钥库的路径放在这里,如C:\users\youruser.android\debug。Keystore -list -v .使用实例

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

然后使用Android作为密码。

有时网络资源可能具有误导性。这些是有效的:

SHA1指纹教程 快速入门示例应用程序

如果你有Android Studio,那就非常简单了。只需使用Android Studio创建一个MapActivity,创建后进入google_maps_api.xml。在评论中会给出一个链接。如果你把它粘贴到浏览器中,它会要求你填写一些细节,然后你的API就会生成。没有必要使用keytool和所有。

屏幕截图:

对于Mac来说,这非常有效:

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

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

任务> android > signingReport

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