Flutter-Firebase项目加载Google Speech资产失败问题求助
解决方案
1. 修正代码中的文件路径错误
错误提示找不到assets/service_account_key.json,但你实际将服务账号密钥存在assets/test_service_account.json,代码里的路径和实际文件不匹配,修改transcribeAudio方法中的路径:
final serviceAccountData = await rootBundle.loadString('assets/test_service_account.json');
2. 确认pubspec.yaml的Assets配置正确
确保你在pubspec.yaml中正确声明了所有需要加载的资源,注意缩进必须正确(使用空格,不能用Tab):
flutter: uses-material-design: true assets: - assets/test_service_account.json - assets/audio/test.wav
如果要加载整个assets目录下的所有文件,也可以简化为:
flutter: uses-material-design: true assets: - assets/
3. 清理Flutter缓存并重启项目
缓存可能导致资源未被正确识别,执行以下步骤:
- 运行命令:
flutter clean - 关闭当前项目的IDE窗口,重新打开
- 重新运行项目(不要用热重载,需要冷启动)
4. 验证文件的实际存在性
- 确认
assets/test_service_account.json和assets/audio/test.wav确实存在于项目根目录对应的文件夹中 - 检查文件名大小写(iOS/macOS系统对文件名大小写敏感,Windows不敏感)
- 确认服务账号JSON文件内容不为空,是从GCP正确下载的完整密钥文件
内容的提问来源于stack exchange,提问作者user17552126
相关产品推荐
相关产品推荐

