1

我已经成功地用 Codemagic 创建了一个使用 Firebase Google Sign In 和 Cloud Firestore 的 Android Flutter 应用程序的构建。我只使用 Android(不是 IOS)。Firebase 的 google-services.json 用于使用 Codemagic 构建 apk。我不发布,只创建构建。问题是该应用程序在 Flutter run(在 VSCode 上)完美运行,但使用 Codemagic 的 apk 构建,我无法从 Cloud Firestore 登录/获取数据。

用Android Studio调试后报错如下:

2021-05-13 11:58:08.006 7011-7011/com.luisbarqueira.expenses_control E/libEGL: call to OpenGL ES API with no current context (logged once per thread)
2021-05-13 11:58:29.297 7011-7475/com.luisbarqueira.expenses_control E/flutter: [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: PlatformException(network_error, com.google.android.gms.common.api.ApiException: 7: , null, null)
    #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:581:7)
    #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:158:18)
    <asynchronous suspension>
    #2      MethodChannel.invokeMapMethod (package:flutter/src/services/platform_channel.dart:358:43)
    <asynchronous suspension>
4

1 回答 1

0

这可能是因为您没有在 android 上添加 Internet 权限。在调试模式下默认启用,但在发布模式 (apk) 下,您必须在 AndroidManifest.xml 中添加以下行:

<manifest xmlns:android...>
 ...
 <uses-permission android:name="android.permission.INTERNET" />
 <application ...
</manifest>

参考flutter.dev

于 2021-05-12T21:38:20.683 回答