com.google.gson.stream.MalformedJsonException 在 Codemagic 中

com.google.gson.stream.MalformedJsonException in Codemagic

我一直在尝试在 Codemagic 上构建我的 flutter (android) 项目,但我一直收到 MalformedJsonException。 我假设 (firebase) google-services.json 编码为 base64 字符串的文件是问题所在。

* What went wrong:
Execution failed for task ':app:processReleaseGoogleServices'.
com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 2261

拜托,我需要一种方法来解决这个问题。

我遇到这个问题是因为 Codemagic 文档中提供的脚本仅用于读取纯 json 文件,但就我而言; json 文件被加密为 Base64 字符串,因此有必要在解析之前将二进制文件解密为有效的 json 文件。

这是文档中的原始脚本

#!/usr/bin/env sh
set -e # exit on first failed command

echo $ANDROID_FIREBASE_SECRET > $FCI_BUILD_DIR/android/app/google-services.json
echo $IOS_FIREBASE_SECRET > $FCI_BUILD_DIR/ios/Runner/GoogleService-Info.plist

这是工作脚本

#!/usr/bin/env sh
set -e # exit on first failed command

echo $ANDROID_FIREBASE_SECRET | base64 --decode > $FCI_BUILD_DIR/android/app/google-services.json
echo $IOS_FIREBASE_SECRET | base64 --decode > $FCI_BUILD_DIR/ios/Runner/GoogleService-Info.plist

参考:https://blog.codemagic.io/how-to-load-firebase-config-in-codemagic-with-environment-variables/