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

Github Actions中Flutter构建找不到google-services.json问题排查

问题排查与解决办法

针对你在Github Actions构建Flutter项目时遇到的google-services.json找不到的问题,以下是几个可能的原因及对应的解决方式:

1. 换行符干扰导致解码异常

echo命令会自动在输出末尾添加换行符,可能破坏Base64解码后的文件完整性。虽然cat能看到内容,但文件实际可能存在格式问题,导致Gradle无法识别。

解决办法:用printf替代echo执行解码,避免额外换行符:

- name: Copy google services
  run: printf "%s" "${{ secrets.GOOGLE_SERVICE }}" | base64 -d > android/app/google-services.json

2. 步骤顺序错误

确保生成google-services.json的步骤在代码checkout之后、flutter build之前执行。如果步骤顺序颠倒,要么目录不存在,要么Gradle在文件生成前就开始执行构建流程。

示例正确流程:

steps:
  - name: Checkout code
    uses: actions/checkout@v4
  
  - name: Copy google services
    run: printf "%s" "${{ secrets.GOOGLE_SERVICE }}" | base64 -d > android/app/google-services.json
  
  - name: Build APK
    run: flutter build apk --release

3. 文件权限不足

解码后的文件可能没有足够的读取权限,导致Gradle无法访问。

解决办法:添加修改权限的步骤:

- name: Fix google-services.json permissions
  run: chmod 644 android/app/google-services.json

4. Gradle缓存未更新

Github Actions的Gradle缓存可能保留了旧的构建状态,未检测到新生成的google-services.json。

解决办法:在build前清理Gradle缓存:

- name: Clean Gradle cache
  run: cd android && ./gradlew clean

5. 路径匹配问题

确认当前工作目录是否为仓库根目录。可以在生成文件前打印当前目录,验证路径是否正确:

- name: Verify working directory
  run: pwd && ls -la android/app/

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 18:01:26