我正在尝试在我的某个项目中使用Google Maps API,并在指示设置API凭据时,它希望我将应用程序的SHA-1签名证书指纹添加到API。
在说明中,它说要使用以下命令来获取指纹:
keytool -list -v -keystore mystore.keystore
当我尝试使用它时,Android Studio终端以及应用程序目录中的cmd提示符都出现以下错误:
keytool error: java.lang.Exception: Keystore file does not exist: C:\Users\Name\.keystore
注意,我的应用程序位于D:\ Projects \ Android \ AppName。
如何获取与Google Maps API一起使用的SHA-1签名证书?
答案 0 :(得分:25)
查找Android应用程序的SHA-1的最简单方法如下: (注意:只能在Android Studio中完成)
1)打开您的项目
2)点击android studio窗口右上角的“Gradle”标签
3)如果没有显示任何内容,请单击Gradle窗口左侧的“刷新所有Gradle项目”图标(蓝色图标)
4)从内容中选择具有项目名称的
5)转到“任务” - > 'android' - > 'signingReport'
6)它将打开一个控制台,单击左上角的“切换任务执行/文本模式”图标
现在,您将能够在控制台中查看SHA-1信息以及有关项目的大量其他信息
This link contains an image that highlights the above stated steps
检查完毕后,请确保将配置模块更改为当前项目。为此,请按照以下步骤操作:
1)点击“选择运行/调试配置”下拉列表
2)选择应用
3)再次单击“选择运行/调试配置”下拉菜单并选择编辑配置
4)选择“常规”标签并将“模块”更改为“应用”,同时勾选“激活工具窗口”复选框
5)按'确定'
现在,您可以按下运行按钮,像以前一样运行项目。
This link contains an image that highlights the above stated steps
希望这会有所帮助。答案 1 :(得分:9)
要查找应用程序的SHA-1,您可以找到: 要单击android studio的右侧,请单击gradle,然后单击task-> android->签署报告,您将在控制台下方找到您的应用程序sha-1。
并生成签名击键文件,你必须生成签名buid apk,以生成签名生成apk点击 Build->生成签名apk-> creaenew然后按照证明你会在你想要的位置找到你的击键文件。谢谢
答案 2 :(得分:8)
调试密钥库文件不在您的应用程序目录中,它位于.android目录中。如果你使用的是Windows,它可能在 keytool -list -v -keystore "C:\Users\yourname\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
(而不是“你的名字”使用你自己的用户目录)。
一旦你知道它在哪里,就可以像这样运行keytool:
let words = ["hello", "world", nil, "foo", nil, "bar", "Peter Griffin"]
var num3LetterWords = 0
for word in words.reversed() {
if (word?.characters.count == 3) { num3LetterWords += 1 }
}
print(num3LetterWords)
答案 3 :(得分:7)
我是从 teamtreehouse 论坛找到的。它解决了我的问题。尝试按照这些步骤进行操作。
1)按开始+ R 并输入cmd.exe,打开命令提示符。
2)使用 Windows资源管理器,找到 JDK 目录所在的位置(通常是Program Files>> Java)并复制路径。
3)在命令提示符中,键入cd,然后键入JDK bin目录的目录。例如:cd C:\ Program Files \ Java \ jdk1.8.0_25 \ bin是我使用的命令(你的命令可能会有所不同)。
4)使用Windows资源管理器,找到.android目录所在的位置(通常在用户>> [YOUR WINDOWS USERNAME]
下)并复制路径。
5)现在,使用以下命令:
keytool -exportcert -alias androiddebugkey -keystore[PATH_TO_.ANDROID_DIRECTORY] -list -v
用您复制的路径替换[PATH_TO_.ANDROID_DIRECTORY]
。请注意,您应该在JDK的bin目录中的terminal / command提示符下运行此命令(您在步骤3中执行了此操作)。
我的是C:\Program Files\Java\jdk1.8.0_121\bin>keytool -exportcert -alias androiddebugkey -keystore C:\Users\HoSiLuan\.android\debug.keystore -list -v
请务必使用C:\Users\HoSiLuan\.android\debug.keystore
代替~/.android\debug.keystore
。键入此缩短方式时仍然出现错误。
然后输入密码,通常是 android 。之后,您将看到打印到屏幕上的证书列表。
答案 4 :(得分:7)
重要: 请注意,如果您尚未在Android Studio中运行任何应用,则不会生成 debug.keystore 。 即:debug.keystore是在Android Studio上首次运行该应用程序后生成的。
但是您也可以在命令行生成用于签名Android应用程序的Release / Debug密钥库。
@Configuration
@EnableResourceServer
public class ResourceServer extends ResourceServerConfigurerAdapter {
@Override
public void configure(ResourceServerSecurityConfigurer serverSecurityConfigurer) {
serverSecurityConfigurer.resourceId("api");
}
}
然后为了访问关键指纹:
$ keytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000
有关进一步的说明,请参见:
https://developer.android.com/studio/publish/app-signing#debugmode https://coderwall.com/p/r09hoq/android-generate-release-debug-keystores
答案 5 :(得分:2)
以下操作将为您提供SHA1,SHA256,MD5作为默认调试密钥。 它可以用于通过Google Play服务进行开发和调试。
Linux和Mac命令
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
Windows
keytool -exportcert -keystore C:\Users\<USERNAME>\.android\debug.keystore -list -v
替换为您的Windows帐户名示例:
keytool -exportcert -keystore C:\Users\Aakash\.android\debug.keystore -list -v
答案 6 :(得分:1)
这是命令行的说明,密码为 android
keytool -exportcert -list -v -alias androiddebugkey -keystore C:\Users\rashi\.android\debug.keystore
答案 7 :(得分:1)
最简单的方法:
只需转到Windows中的用户目录 可以说:
C:/Users/your_profile/.android/debug.keystore
将此作为目标位置。
答案 8 :(得分:0)
在命令中获取SHA1密钥在.android文件夹中提供debug.keystore文件的文件路径
答案 9 :(得分:0)
以单一格式添加此行=>
keytool -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore
不要在上一行执行一半代码,在下一行执行一半代码
另一重要的事情是,在/
之后删除-v/
,使其变为-v -alias ....
,依此类推
答案 10 :(得分:0)
此链接https://developers.google.com/games/services/console/enabling包含有关按键工具的信息
~/.android/debug.keystore
keytool -list -keystore ~/.android/debug.keystore
时,它会
将提示输入默认值为android
的密码。答案 11 :(得分:0)
对于Windows:
1.打开您的android项目所在的控制台
2.运行keytool
,如果告诉您未知命令转到3,否则转到4
3.导航到使用Java JDK的文件夹,例如:cd 'C:\Program Files\Java\jdk1.8.0_211\bin\'
或安装JDK(如果找不到)
4.执行
.\keytool.exe -list -v -keystore PROJECT-FOLDER\android\app\debug.keystore -alias androiddebugkey -storepass android -keypass android
答案 12 :(得分:0)
如果您首先安装android,请先不要创建任何项目或将debug.keystore文件删除,然后再创建一个新的android示例项目。并尝试运行“ signingReport”
答案 13 :(得分:0)
对于这个 devleoper 错误,您必须首先从您的 .android 目录中找到 sha key1,而不是在您的项目中找到本地 debug Keystore,您可以通过单击轻松找到使用 android studio在 gradle 右侧 gradle>yourproject>android>signin report 并将密钥粘贴到 firebase 指纹认证上,然后下载 google service.json 并将其放在您的应用程序目录中,然后最后您必须使用此命令来清理您的 Gradel ./gradlew clean (注意:应该执行此清理工作,否则会出现相同的错误 将在那里)然后构建您的项目,这将 100% 工作