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

无法找到Program Files中的Java文件夹,需通过keystore命令获取SHA值

找不到Java路径?用keytool验证SHA值的完整解决方案

别急,我之前做Android开发时也碰到过一模一样的情况——gradle signing report输出的SHA不被API页面认可,还死活找不到Java文件夹,给你一步步捋清楚解决办法:

第一步:精准定位Java(JDK/JBR)路径

你之前能正常开发,大概率用的是Android Studio自带的JDK,而非单独安装的Java版本,所以在Program Files里找不到很正常。这里有两个绝对靠谱的查找方式:

  • 方法1:从Android Studio直接获取(最推荐)
    打开Android Studio,依次点击 File > Project Structure > SDK Location,在「JDK Location」栏就能看到完整路径(新版AS一般是C:\Program Files\Android\Android Studio\jbr,旧版可能是jre或jdk开头),直接复制这个路径就好,百分百准确。

  • 方法2:通过系统环境变量查找
    右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,在系统变量里找JAVA_HOME,它的取值就是Java的根目录,keytool.exe就藏在这个路径下的bin文件夹里。如果没找到这个变量,直接用方法1就行。

第二步:用keytool命令生成并验证SHA值

找到Java的bin目录后,按下面的步骤操作:

  1. 打开命令提示符(CMD)或PowerShell,先切换到Java的bin路径:

    cd 你复制的JDK路径\bin
    

    举个例子:cd C:\Program Files\Android\Android Studio\jbr\bin

  2. 针对默认debug keystore执行命令(绝大多数场景用这个):

    keytool -list -v -keystore "C:\Users\你的用户名\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
    

    记得把「你的用户名」替换成你电脑的实际用户名,执行后就能看到SHA-1、SHA-256等完整签名信息。

  3. 如果gradle输出的SHA和这个不一致,那大概率是你项目配置了自定义keystore:
    打开项目的build.gradle(Module level)文件,找到signingConfigs代码块,里面会写明自定义keystore的路径、密码等信息,把命令里的debug.keystore替换成这个自定义路径,再执行一遍就能得到对应SHA值。

为啥gradle的SHA不被API接受?

大概率是这两个原因:

  • 你gradle里使用的keystore和API页面配置的不是同一个(比如用了release keystore而非debug版本)
  • 某些API要求的是SHA-256,但你复制了SHA-1,或者反过来,仔细核对一下API的具体要求。

内容的提问来源于stack exchange,提问作者Androidcoder

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:16:16