密钥库文件不存在

时间:2017-03-08 04:36:17

标签: java android

我正在尝试在我的某个项目中使用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签名证书?

14 个答案:

答案 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。 enter image description here

并生成签名击键文件,你必须生成签名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密钥库。

  1. 用于在开发期间对Android应用进行签名的调试密钥库需要Google规定的特定别名和密码组合。要创建调试密钥库,请使用:
@Configuration
@EnableResourceServer
public class ResourceServer extends ResourceServerConfigurerAdapter {

   

    @Override
    public void configure(ResourceServerSecurityConfigurer serverSecurityConfigurer) {
        serverSecurityConfigurer.resourceId("api");
    }
}
  • 密钥库名称:“ debug.keystore”
  • 密钥库密码:“ android”
  • 密钥别名:“ androiddebugkey”
  • 关键密码:“ android”
  • CN:“ CN = Android调试,O = Android,C = US”

然后为了访问关键指纹:

  1. 打开C驱动器,并遵循以下路径C:\ Program Files \ Java \ jdk1.8.0_201 \ bin
  2. 然后使用 bin 文件夹打开cmd
  3. 现在执行
    $ 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包含有关按键工具的信息

  1. Mac默认的调试梯形失真校正文件路径为 ~/.android/debug.keystore
  2. 使用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% 工作