使用 Android Studio 为 Flutter 应用添加 Google Sign-In 时未添加 SHA 证书指纹到 Firebase
Posted at 2025-04-09
在使用 Firebase + Google 登录功能时,如果未在 Firebase 控制台中添加 SHA-1 证书指纹,将导致 Google 登录失败,返回的用户为 null。本教程将教你如何正确生成并添加 SHA 指纹,以及如何解决 JAVA_HOME 未设置的问题。
🛠 步骤一:生成 SHA-1 指纹
打开你的 Flutter 项目中的
android文件夹。找到
gradlew文件,右键选择:1
Open In > Terminal
在打开的终端中输入以下命令:
1
./gradlew signingReport
稍等几秒,控制台会输出类似以下内容:
1
2
3Variant: debug
SHA1: AB:CD:EF:...
SHA-256: ...复制输出中的 SHA-1 指纹。
🔗 步骤二:添加 SHA-1 到 Firebase
- 打开 Firebase 控制台
- 进入你的项目 → 点击左上角齿轮【项目设置】
- 在 “你的应用” > Android 中,找到 SHA 证书指纹
- 点击【添加指纹】,粘贴刚才复制的 SHA-1
- 保存更改
- 🔄 重新下载
google-services.json文件,替换到项目中的:1
android/app/google-services.json
❗ 可能遇到的问题:JAVA_HOME 未设置
如果你在执行 ./gradlew signingReport 时遇到如下错误:
1 | ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. |
说明系统没有配置 Java 的环境变量。按以下步骤解决:
✅ 设置 JAVA_HOME 的方法
打开 Android Studio:
1
File > Project Structure > SDKs
在列表中找到类似
jbr-21/jbr-17的 Java SDK(选择数字最大的那个)在右侧找到
JDK home path,复制该路径- 示例路径:
C:\Program Files\Android\Android Studio\jbr
- 示例路径:
打开系统环境变量设置:
- Windows 搜索
Environment Variables - 点击【环境变量】→ 在 “用户变量” 中点击【新建】
- Windows 搜索
填写如下信息:
- 变量名:
JAVA_HOME - 变量值:粘贴你复制的
JDK home path
- 变量名:
点击【确定】保存,然后在系统变量中的
Path里添加一项:1
%JAVA_HOME%\bin
保存所有设置,重启命令行,再次运行:
1
./gradlew signingReport
✅ 最终效果
你应该能看到完整的 SHA 指纹,并成功将其添加到 Firebase。这样,Google Sign-In 登录就能正常返回用户信息了!