生成Facebook集成哈希密钥时遇keytool未识别错误求解决方案
解决Facebook哈希密钥生成时的'keytool'找不到问题
嘿,我刚帮朋友解决过一模一样的问题!你碰到的这个错误,核心原因很简单——系统找不到keytool工具,下面给你拆解问题和解决方案:
问题根源
- keytool的路径没被系统识别:keytool是JDK自带的工具,它藏在
C:\Program Files\Java\jdk-9.0.1\bin目录里,但你只进到了JDK根目录,而且系统的环境变量PATH里没添加这个bin路径,所以命令行找不到它。 - 命令里的openssl路径有占位符:你命令最后一段的
PATH_TO_OPENSSL_LIBRARY是个占位符,得换成你实际的openssl安装路径(就是你前面写的C:\openssl),不然后面也会报错找不到openssl。
快速临时解决(当前窗口有效)
不用改环境变量,直接切换到keytool所在的bin目录执行命令就行,记得把openssl的占位符替换掉:
cd C:\Program Files\Java\jdk-9.0.1\bin keytool -exportcert -alias androiddebugkey -keystore "C:\Users\MEGHA.android\debug.keystore" | "C:\openssl\bin\openssl" sha1 -binary | "C:\openssl\bin\openssl" base64
执行时会提示输入密钥库密码,如果你没改过debug.keystore的密码,默认是android,直接输入就行。
永久解决(所有命令行窗口通用)
要是以后经常用keytool,把它加到系统环境变量里更方便:
- 右键「此电脑」→ 「属性」→ 「高级系统设置」→ 「环境变量」
- 在「系统变量」列表里找到
Path,点击「编辑」 - 点击「新建」,粘贴路径
C:\Program Files\Java\jdk-9.0.1\bin,然后一路确定保存 - 关闭所有打开的命令行窗口,重新开一个,直接执行修正后的完整命令:
keytool -exportcert -alias androiddebugkey -keystore "C:\Users\MEGHA.android\debug.keystore" | "C:\openssl\bin\openssl" sha1 -binary | "C:\openssl\bin\openssl" base64
内容的提问来源于stack exchange,提问作者Megha Jain
相关产品推荐
相关产品推荐

