Flutter应用跨设备Google登录遇PlatformException(10)如何解决?
解决Flutter Google登录跨电脑ApiException 10错误的方案
获取当前电脑的签名密钥
不同电脑的默认debug签名密钥是独立的,Firebase只认已配置的密钥指纹,所以得先拿到当前电脑的SHA1和SHA256:- Windows系统,打开终端执行:
keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android - macOS/Linux系统,打开终端执行:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
执行后会输出密钥详情,把里面的SHA1和SHA256复制下来。
- Windows系统,打开终端执行:
在Firebase控制台添加新密钥指纹
- 打开你的Firebase项目,进入项目设置 -> 找到对应的Android应用
- 在应用签名板块,点击添加指纹
- 把复制的SHA1和SHA256分别粘贴进去,保存更改。
替换项目中的google-services.json
密钥添加完成后,下载最新的google-services.json文件,替换掉Flutter项目android/app目录下的旧文件。清理缓存并重新运行
执行以下命令清理项目缓存,再重新构建运行:flutter clean flutter pub get flutter run
额外提示:如果是团队开发,建议把同一套debug密钥文件共享给所有成员,这样不用每次换电脑都去Firebase加指纹;如果是release包,要确保所有打包用的密钥指纹都已添加到Firebase。
内容的提问来源于stack exchange,提问作者Ardeshir ojan
相关产品推荐
相关产品推荐

