Flutter中执行keytool命令提示未识别,如何解决?
解决‘keytool' is not recognized as an internal or external command’错误
这个问题我碰到过好多次了,本质就是系统找不到keytool这个工具的位置——它是JDK自带的程序,默认藏在JDK安装目录的bin文件夹里,而这个路径没被加入系统的环境变量,所以终端找不到它。给你两种解决办法:
方法1:临时快速解决(单次生效)
- 首先找到你的JDK安装路径:
- 如果你是手动安装的JDK,默认路径一般是
C:\Program Files\Java\jdk[你的版本号]\bin,比如C:\Program Files\Java\jdk1.8.0_301\bin; - 如果你用的是Android Studio自带的JDK,路径通常是
C:\Program Files\Android\Android Studio\jbr\bin(不同版本可能略有差异)。
- 如果你是手动安装的JDK,默认路径一般是
- 打开命令提示符(CMD),先切换到这个
bin目录:
(注意路径里有空格的话一定要用双引号括起来)cd "C:\Program Files\Java\jdk1.8.0_301\bin" - 最后再执行你的
keytool命令:keytool -genkey -v -keystore c:/Users/USER_NAME/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
方法2:永久解决(配置环境变量,以后随时可用)
这个方法一劳永逸,以后不管在哪个目录打开CMD都能直接用keytool:
- 右键点击「此电脑」→ 选择「属性」→ 点击「高级系统设置」→ 切换到「环境变量」页面。
- 在「系统变量」区域找到
Path变量,点击「编辑」。 - 点击「新建」,把你找到的JDK的
bin目录路径粘贴进去(比如C:\Program Files\Java\jdk1.8.0_301\bin)。 - 依次点击「确定」保存所有设置,必须关闭所有已打开的CMD窗口,重新打开一个新的CMD后,再执行你的
keytool命令就正常了。
小提示:找不到JDK路径怎么办?
打开CMD输入java -version,如果能显示Java版本,说明JDK已经安装,你可以去C:\Program Files\Java目录下找对应的jdk文件夹;如果没显示,那你得先安装JDK才行哦。
内容的提问来源于stack exchange,提问作者Developer
相关产品推荐
相关产品推荐

