【问题标题】:Success Apk built with Codemagic does not work with Firebase使用 Codemagic 构建的 Success Apk 不适用于 Firebase
【发布时间】:2021-08-03 05:17:10
【问题描述】:

我已经使用 Codemagic 成功创建了一个使用 Firebase Google Sign In 和 Cloud Firestore 的 Android Flutter 应用程序的构建。我只使用 Android(不是 IOS)。 Firebase 的 google-services.json 用于使用 Codemagic 构建 apk。我不发布,只创建构建。 问题是应用程序在 Flutter 运行(在 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>

【问题讨论】:

    标签: android firebase flutter codemagic


    【解决方案1】:

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

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

    Reference on flutter.dev

    【讨论】:

    • 我正在调试模式下在 Codemagic 上构建 apk,因此我认为您的回答不适用。顺便说一句,我在进入 Codemagic 时使用的是我的应用程序的调试版本。
    • 好的,但是你试过了吗?因为我认为这一定是互联网的问题。
    • 由于我处于调试模式,因此默认情况下它存在,就像您告诉我的那样。我查过了,没错。
    猜你喜欢
    • 2021-01-21
    • 2021-06-22
    • 1970-01-01
    • 2020-12-17
    • 2021-09-01
    • 2022-11-11
    • 2020-04-27
    • 1970-01-01
    • 2021-06-21
    相关资源
    最近更新 更多