2023Flamingo安卓地图生成key时报错(keytool 错误: java.io.IOException: Invalid keystore format)

背景

我的 Android Studio 安装的是最新的 2023 Flamingo 版本, 现在需要在安卓中引用高德地图SDK, 根据官网上的教程生成key, 需要填一个 sha1, 但是按照官网教程输入命令后, 没有得到想要的 sha1 值, 出现问题的环境如下所示:

官网链接: Android 如何获取 SHA1 值?

看到默认密钥库口令是 android, 输入了之后报错了:

2023Flamingo安卓地图生成key时报错(keytool 错误: java.io.IOException: Invalid keystore format)_第1张图片

我之前没设过什么口令, 试了一下如果直接回车, 不输入口令得到的结果又是这样的:
2023Flamingo安卓地图生成key时报错(keytool 错误: java.io.IOException: Invalid keystore format)_第2张图片

后面我又试了在 Android Studio 的 terminal 里输入, 在 Android Studio 的 D:\Android\Android Studio\jre\bin 目录下输入, 得到的结果都是跟上面一样的.

解决

查了好多文章, 发现是生成keystore和访问keystore的JDK版本不同导致的.

对于之前的 Android Studio 版本, 可能这个帖子是可行的 :
Android与百度地图开发中的密钥问题(keytool 错误: java.io.IOException: Invalid keystore format)

2023 Flamingo 版本最后的 jdk 路径是不一样的, 操作应该是下面这样:

2023Flamingo安卓地图生成key时报错(keytool 错误: java.io.IOException: Invalid keystore format)_第3张图片

2023Flamingo安卓地图生成key时报错(keytool 错误: java.io.IOException: Invalid keystore format)_第4张图片

点一下这个下拉框, 可以在这里看到 一个jdk 的路径, 这个就是生成keystore的JDK版本:

2023Flamingo安卓地图生成key时报错(keytool 错误: java.io.IOException: Invalid keystore format)_第5张图片

接下来在文件资源管理器中打开这个目录 (注意这个版本是 jbr 目录了, 之前是 jre ), 进入 cmd 命令, 输入官网给的命令就可以看到 sha1 了:

2023Flamingo安卓地图生成key时报错(keytool 错误: java.io.IOException: Invalid keystore format)_第6张图片

要用 debug.keystore 目录的全路径, 改成自己电脑的地址

keytool -list -v -keystore C:\Users\Tianqing\.android\debug.keystore

2023Flamingo安卓地图生成key时报错(keytool 错误: java.io.IOException: Invalid keystore format)_第7张图片

你可能感兴趣的:(安卓,Android,地图,sha1)