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

求助:Flutter Release模式下获取SHA1遇Missing Keystore错误,求无需Android Studio的解决方法

不用Android Studio获取Flutter Release模式SHA1密钥的解决方法

别担心,不用Android Studio也能轻松搞定这个问题,我给你两种实用方案,都是自己踩过坑验证过的:

方案一:直接用keytool从已生成的keystore提取指纹

这是最直接的方法,既然你已经生成了release.keystore,直接用JDK自带的keytool命令就能读出SHA1:

  1. 打开终端/命令提示符,导航到你的release.keystore所在的文件夹(比如如果它在Flutter项目的android/app目录下,就执行cd 你的项目路径/android/app)
  2. 执行以下命令:
    keytool -list -v -keystore release.keystore -alias AndroidReleaseKey
    
  3. 输入你生成keystore时设置的密钥库密码,回车后就能看到包含SHA1、SHA256在内的所有证书指纹信息了,找到SHA1那一行复制即可。

提示:如果keytool命令提示找不到,说明你的JDK环境变量没配置好,确保JDK的bin目录加到了系统PATH里,或者直接用JDK完整路径执行(比如C:\Program Files\Java\jdk1.8.0_301\bin\keytool.exe)

方案二:配置Gradle解决Missing Keystore错误,再用gradlew获取

如果还是想用signingReport命令,那得先给Gradle指定keystore的位置,步骤如下:

  1. 找到Flutter项目的android/gradle.properties文件,打开后添加以下配置(替换成你自己的密码和路径):
    RELEASE_STORE_FILE=../release.keystore # 如果keystore在app目录下就写release.keystore,根据实际路径调整
    RELEASE_STORE_PASSWORD=你的密钥库密码
    RELEASE_KEY_ALIAS=AndroidReleaseKey # 你生成keystore时设置的alias
    RELEASE_KEY_PASSWORD=你的密钥密码(如果和密钥库密码一样就填同一个)
    
  2. 打开android/app/build.gradle文件,找到android代码块里的signingConfigs部分,添加Release签名配置:
    signingConfigs {
        release {
            storeFile file(RELEASE_STORE_FILE)
            storePassword RELEASE_STORE_PASSWORD
            keyAlias RELEASE_KEY_ALIAS
            keyPassword RELEASE_KEY_PASSWORD
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
            // 保留你原来的其他配置,比如minifyEnabled之类的
        }
    }
    
  3. 回到终端,导航到项目的android目录,执行命令:
    ./gradlew signingReport # Windows系统用gradlew.bat signingReport
    
    这次就能正常输出所有构建变体的签名信息,找到Release对应的SHA1即可。

注意事项

  • 一定要确保keystore的路径、alias、密码都和你生成时的一致,不然会报错
  • 保存好你的release.keystore和密码,后续发布新版本还要用到,丢了就麻烦了

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 13:18:13