我刚刚迁移到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);
当捕获错误错误为:
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
不能解决冻结/问题。
答案 0 :(得分:1)
我遇到了同样的问题。
这是v0.9.0 + 2的错误。
它通过使用先前版本的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,它也没有改变。
所以我做了以下。
.pub-cache/
,flutter packages get
cloud_firestore: 0.9.0+1
flutter packages get