Android应用发布准备:keytool命令未识别问题求助
解决keytool未被识别的问题
这个问题我之前打包Flutter应用的时候也碰到过!本质是系统的环境变量里没包含JDK的bin目录,导致终端找不到keytool这个工具——它是JDK自带的签名工具,默认在JDK安装路径的bin文件夹里。
下面是具体的解决步骤:
第一步:找到JDK的bin目录路径
如果你是用Android Studio自带的JDK,路径大概是:C:\Program Files\Android\Android Studio\jre\bin;如果是自己单独装的JDK,路径一般是C:\Program Files\Java\jdk[你的版本号]\bin(比如C:\Program Files\Java\jdk1.8.0_301\bin)。第二步:添加到系统PATH环境变量
- 右键「此电脑」→ 选择「属性」→ 点击「高级系统设置」
- 在弹出的窗口里切换到「高级」标签,点击「环境变量」
- 在「系统变量」列表里找到
PATH,双击它进入编辑界面 - 点击「新建」,把刚才找到的bin目录路径粘贴进去,然后依次点击「确定」保存所有窗口的修改
第三步:重启终端/VS Code
环境变量的修改需要重启终端才会生效,所以把当前打开的VS Code终端、Flutter控制台都关掉,重新打开后再试。验证是否成功
打开新的终端,输入命令:keytool -version如果能正常显示keytool的版本信息,就说明配置成功了,这时再执行你的签名命令就不会报错了。
如果临时不想改环境变量,也可以直接用keytool的完整路径来执行命令,比如:
"C:\Program Files\Android\Android Studio\jre\bin\keytool.exe" -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
不过还是建议添加PATH,以后用到其他JDK工具(比如javac)也不用再重复输路径啦。
内容的提问来源于stack exchange,提问作者Jordan Foster




