【问题标题】:Firestore broken after AndroidX migrateAndroidX 迁移后 Firestore 损坏
【发布时间】:2019-07-12 04:12:49
【问题描述】:

我刚刚迁移到 AndroidX 并更新了我的 Flutter 依赖项。

现在使用 Firestore 时出现错误。

例如:

//try {
 await ref.collection(‘collection’).document(document).updateData({
    'Field’: field,
  });
//} catch (e) {
//  debugPrint(e.toString());
//}

冻结应用并给出堆栈错误:

StandardMethodCodec.decodeEnvelope (message_codecs.dart:564) MethodChannel.invokeMethod (platform_channel.dart:292)
_RootZone.runUnary (zone.dart:1379)
_FutureListener.handleValue (future_impl.dart:126)
_Future._propagateToListeners.handleValueCallback (future_impl.dart:639)
_Future._propagateToListeners (future_impl.dart:668)
_Future._completeWithValue (future_impl.dart:483)
_Future._asyncComplete.<anonymous closure> (future_impl.dart:513)
_microtaskLoop (schedule_microtask.dart:41)
_startMicrotaskLoop (schedule_microtask.dart:50)

message_codecs 异常中断 (564) 是:

throw PlatformException(code: errorCode, message: errorMessage, details: errorDetails);

当catch error错误为:

PlatformException(Error 0, null, null)

我正在使用:

cloud_firestore: ^0.9.0+2
(firebase_auth: ^0.8.1+1)
(google_sign_in: ^4.0.1+1)
(firebase_messaging: ^3.0.1)

在 Android 上没有同样的问题。

感谢您的帮助!

更新:这与https://github.com/flutter/flutter/issues/28103 不同。删除 await 不能修复冻结/问题。

【问题讨论】:

    标签: firebase dart flutter google-cloud-firestore androidx


    【解决方案1】:

    我遇到了同样的问题。
    这是v0.9.0+2的一个bug。

    使用之前版本的cloud_firestore解决了。

      cloud_firestore:
        git:
          url: git://github.com/flutter/plugins.git
          path: packages/cloud_firestore
          ref: 51696552700af8692fd7d595237fc9c4e273de93
    

    Flutter 似乎将 +1 和 +2 识别为相同的版本。
    即使指定了 0.9.0+1,它也没有改变。
    所以我做了以下。

    1. 删除.pub-cache/
    2. 指定以上版本
    3. flutter packages get
    4. cloud_firestore: 0.9.0+1
    5. flutter packages get

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-14
      • 1970-01-01
      • 1970-01-01
      • 2013-10-26
      • 1970-01-01
      • 2020-03-22
      • 1970-01-01
      相关资源
      最近更新 更多