You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行keytool命令获取SHA-1指纹时提示“Unable to locate a Java Runtime”的问题求助

执行keytool命令获取SHA-1指纹时提示“Unable to locate a Java Runtime”的问题求助

兄弟,我之前也碰到过一模一样的情况——明明之前能正常用keytool,突然就提示找不到Java运行时了,大概率是Java的环境变量配置出了问题,或者系统找不到JDK的位置了,给你几个靠谱的解决思路:

  • 先绕开环境变量,直接用绝对路径运行keytool
    你先找到自己JDK的安装目录,比如Mac上一般在/Library/Java/JavaVirtualMachines/下面,Windows则通常在C:\Program Files\Java\里。找到对应JDK版本的bin文件夹,里面就有keytool程序,直接用绝对路径执行命令就行。比如Mac上的命令大概是:

    /Library/Java/JavaVirtualMachines/jdk1.8.0_301.jdk/Contents/Home/bin/keytool -keystore path-to-debug-or-production-keystore -list -v
    

    Windows上类似:

    C:\Program Files\Java\jdk1.8.0_301\bin\keytool.exe -keystore path-to-debug-or-production-keystore -list -v
    

    把上面的JDK路径换成你自己的实际路径就行,这样不用依赖环境变量就能直接运行。

  • 修复Java环境变量配置
    如果不想每次都敲长路径,那就把Java的路径加到系统环境变量里:

    • Mac/Linux:打开终端,编辑你的shell配置文件(比如~/.zshrc或者~/.bash_profile),添加两行配置:
      export JAVA_HOME=/Library/Java/JavaVirtualMachines/你的JDK版本.jdk/Contents/Home
      export PATH=$JAVA_HOME/bin:$PATH
      
      保存后执行source ~/.zshrc(对应你的shell文件),重启终端后再试keytool命令应该就正常了。
    • Windows:右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,在系统变量里新建JAVA_HOME,值填你的JDK安装根目录(比如C:\Program Files\Java\jdk1.8.0_301),然后编辑Path变量,添加%JAVA_HOME%\bin,重启命令提示符后再测试。
  • 给Flutter用户的快捷方式
    其实你完全不用自己敲keytool命令,打开Android Studio,找到右侧边栏的「Gradle」图标,展开你的项目→android→app→Tasks→android,双击signingReport,Gradle会自动帮你运行,然后在底部的Run窗口里就能看到所有的SHA-1、SHA-256指纹了,连Java环境的问题都不用管,超级省心。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 12:04:29