Android studio升级到最新版获取SHA1时遇到的问题

  • Post author:
  • Post category:其他




错误提示

Android studio安装升级到最新本后需要获取SHA1值,然后就输入密钥库口令:


keytool -v -list -keystore keystore文件路径

结果就提示了以下错误:


keytool 错误: java.io.IOException: Invalid keystore format

如下图所示:

在这里插入图片描述



解决方案

刚开始还以为是自己粗心,哪里弄错了,没怎么在意,后来一直没弄成功,网上百度了一下,说是可能gradle的配置问题,还有说是生成密钥文件的jdk版本不一致的问题,我在Android studio里面设置jdk版本,然后重新创建密钥文件还是提示错误。然后我用以前项目的密钥文件来获取SHA1值反而成功了,就新生成的不行,然后我就去Android群里问了大佬,就给我说要去到Android studio自带的jre环境里面执行这个命令,然后就成功了,但我还是不理解,有知道的小伙伴留言指导一下,感谢了。

步骤如下:

  1. 生成keystore和访问keystore的JDK版本不一致。(通俗来讲就是 jks是用和当前jdk的不同版本生成的。比如1.8 和 11 )就会报错。(项目需要有时候本地会配置多个版本的jdk 此时多注意)。

    在这里插入图片描述

  2. 进入当前项目jdk根目录bin cmd (我这里用的是AndroidStudio自带的jre)要进入bin根路径,如下图所示:

    在这里插入图片描述

    在这个目录下进行命令输入

    keytool -v -list -keystore keystore文件路径

    ,这样jdk 应该就一致了。

    直接在as中 的终端用的是哪个jdk我也不清楚,毕竟as自带一个jdk,电脑也装过java,可能终端默认用的是之前装的java的jdk吧。但是根据教程应该是这样的,步骤如下:

    1. 在签名文件位置处打开cmd

    2. 在cmd 中输入命令 keytool -list -v -keystore 签名文件名称


keytool -list -v -keystore 签名文件名称.keystore或者jks


输入命令后提示输入密钥库口令,口令是你在添加签名文件的时候设置的,输入后回车,即可获取到如下SHA 1值。或者在任意位置打开cmd命令输入以下命令:


keytool -list -v -keystore 签名文件的绝对路径

后来根据高德地图的官网教程,其实发现人家早就告诉了你报错应该怎么排查了,如下图所示:

在这里插入图片描述



结语

每个人刚开始学习的时候都是小白,这个过程中或多或少的都会看看别人写的博客,过程中也可能会踩过很多坑。遇到问题的时候,我们可以记录下来,不管是对自己还是对其他学习的小伙伴都很有帮助。程序员大多都是很孤独的,写作也可以让自己的孤独“有处安放”,多去表达,多点表达,对于不善言辞的程序员总是有很多好处,博文写作的过程中最重要的是思路清晰有条理,和敲代码最大的不同是,编程有了明确的目标,日复一日必成高手,而写作如果只是为了写而写,往往会失了初心,丢了本真。写作不仅可以提高言语表达能力,更可以培养持续做事情的毅力,最好得是能遇到很多志同道合的朋友。

转载自:

https://blog.csdn.net/u014727709/article/details/126540051


欢迎start,欢迎评论,欢迎指正



版权声明:本文为u014727709原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。