'keytool' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

本篇篇幅较长,如需简化版点击这里

背景:

昨天集成百度定位的sdk时,根据官方文档中获取sha值官方文档,自己没有获取成功 一直提示:
‘keytool’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。日了uzi,很郁闷,就百度了下,改变获取
sha值的方法:详情在本人的上一篇博客中点击这里
获取成功后也成功生成了百度定位所需要的Ak值,并且用不同手机,不同网络环境下也定位成功了;那就打包正式上线吧

下载正式包,进行定位!结果,问题来了:
定位,只能定位成功一次,后续一直出现505错误,提示清单文件中ak值配置错误,嗯???明明定位成功了,为啥现在不行了 解决方法点击这里

看了这么多,是不是觉得很乱,总结下就是,在Android studio 工具中,右上角——>gradle——>tasks——>android——>signingReport(双击后) 即可在控制台查看sha值,这个sha值是debug模式下的,并不是release模式下的,(妈的,日志信息写的很明确,自己没注意看而已,哎);

所以如何通过命令行来获取自己的sha值呢;(本人windows 环境下)


win + r 输入cmd,然后点击 enter ;就打开dos窗口 ,然后找到自己的 .android文件夹;
然后 : cd .android (如果你的.android 在其他文件夹下,请cd进入该文件)
如图所示

提示错误,是不是很蛋疼,就是找不到keytool工具,那就找我们的keytool工具,然后再输入上面命令就行了,
首先,我们需要找到自己的 jdk 所在的路径,keytool就在该文件夹里面,所以
(1)如图
这里写图片描述

(2)如图
这里写图片描述

进入你的jdk目录下,然后输入: keytool -list -v -keystore debug.keystore

提示找不到debug.store,那就把他的根目录拼接上:

输入:keytool -list -v -keystore C:\Users\Lenovo.android\debug.keystore

结果如下图:

这里写图片描述

上面是debug的sha值;发布正式包,需要用到release的sha值;

输入:keytool -list -v -keystore D:\MyAndroidProjects\baidulocation.jks

其中 D:\MyAndroidProjects\baidulocation.jks 是我已经生成的签名文件的存放目录 (你需要输入你的即可,如果你还没有生成,或者不会,请自行百度,Android 打包签名文件,或者点击这里

结果如图:
这里写图片描述

好了现在就得到release版本的sha值了,百度地图定位可以发布了!!!

  • 38
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
当出现"keytool不是内部外部命令,也不是可运行程序批处理文件"的错误时,这通常是因为系统找不到keytool的路径或者keytool不在环境变量中。 解决这个问题的方法包括: 1. 确认Java JDK是否正确安装并配置。首先,你需要确保Java Development Kit(JDK)已经正确地安装在你的计算机上,并且已经配置了JAVA_HOME环境变量。你可以在命令行中输入`java -version`来确认Java是否正确安装。 2. 添加keytool到系统的环境变量。如果你已经安装了Java JDK,但是仍然遇到该问题,那么可能是因为keytool没有添加到系统的环境变量中。你可以通过以下步骤来添加keytool到环境变量: - 打开控制面板并进入"系统与安全" -> "系统" -> "高级系统设置" -> "环境变量"。 - 在"系统变量"中,选择"Path"变量,并点击"编辑"。 - 在变量值的末尾添加Java JDK的bin目录的路径,例如:`C:\Program Files\Java\jdk1.8.0_221\bin`(根据你的实际安装路径进行修改)。 - 点击"确定"保存更改。 3. 重启命令行窗口。在完成上述更改后,你需要重新启动命令行窗口,这样系统才能正确识别keytool命令。 请注意,以上方法适用于Windows系统。如果你使用的是其他操作系统,可能会有所不同,你可以根据操作系统的要求进行相应的配置。 希望以上信息对你有帮助。如果还有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值