Fur*_*han 6 crash firebase flutter google-cloud-firestore
在调试模式下,一切正常。它第一次发生在我将 Flutter 版本更新到 1.10.x 时,我不记得我正确使用了哪个版本。它应该是 1.7.8,它是稳定的。为了修复它,我将 flutter 降级到 1.7.8+4 并降级与 firebase 相关的 pub 包。但错误仍然在这里。
相关错误的堆栈跟踪,从 gogle play 控制台捕获
java.lang.RuntimeException:
at com.google.firebase.firestore.util.AsyncQueue.a (AsyncQueue.java:379)
at com.google.firebase.firestore.util.AsyncQueue$$Lambda$5.run (AsyncQueue.java:2)
at android.os.Handler.handleCallback (Handler.java:790)
at android.os.Handler.dispatchMessage (Handler.java:99)
at android.os.Looper.loop (Looper.java:164)
at android.app.ActivityThread.main (ActivityThread.java:7000)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:441)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1408)
Caused by: java.lang.AbstractMethodError:
at com.google.protobuf.GeneratedMessageLite.a (GeneratedMessageLite.java:1319)
at com.google.firebase.firestore.proto.WriteBatch.s (WriteBatch.java:120)
at com.google.firebase.firestore.proto.WriteBatch.a (WriteBatch.java:162)
at com.google.firebase.firestore.proto.WriteBatch.a (WriteBatch.java:15)
at com.google.firebase.firestore.proto.WriteBatch$Builder.a (WriteBatch.java:835)
at com.google.firebase.firestore.local.LocalSerializer.a (LocalSerializer.java:172)
at com.google.firebase.firestore.local.SQLiteMutationQueue.a (SQLiteMutationQueue.java:188)
at com.google.firebase.firestore.local.LocalStore.a (LocalStore.java:237)
at com.google.firebase.firestore.local.LocalStore$$Lambda$2.get (LocalStore.java:8)
at com.google.firebase.firestore.local.SQLitePersistence.a (SQLitePersistence.java:195)
at com.google.firebase.firestore.local.LocalStore.a (LocalStore.java:201)
at com.google.firebase.firestore.core.SyncEngine.a (SyncEngine.java:227)
at com.google.firebase.firestore.core.FirestoreClient.a (FirestoreClient.java:200)
at com.google.firebase.firestore.core.FirestoreClient$$Lambda$11.run (FirestoreClient.java:6)
at com.google.firebase.firestore.util.AsyncQueue.a (AsyncQueue.java:311)
at com.google.firebase.firestore.util.AsyncQueue$$Lambda$4.call (AsyncQueue.java:2)
at com.google.firebase.firestore.util.AsyncQueue.a (AsyncQueue.java:287)
at com.google.firebase.firestore.util.AsyncQueue$$Lambda$3.run (AsyncQueue.java:4)
at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:457)
at java.util.concurrent.FutureTask.run (FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run
(ScheduledThreadPoolExecutor.java:301)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:636)
at com.google.firebase.firestore.util.AsyncQueue$DelayedStartFactory.run (AsyncQueue.java:205)
at java.lang.Thread.run (Thread.java:764)
Run Code Online (Sandbox Code Playgroud)
当我在设备上看到错误跟踪时(在 android 崩溃报告对话框中)它提到了 Firebase 19.0.0
颤振医生:
Doctor summary (to see all details, run flutter doctor -v):
[?] Flutter (Channel unknown, v1.7.8+hotfix.4, on Microsoft Windows [Version 10.0.17134.1069], locale en-US)
[?] Android toolchain - develop for Android devices (Android SDK version 29.0.0)
[?] Chrome - develop for the web
[?] Visual Studio - develop for Windows (Visual Studio Enterprise 2017 15.9.7)
[?] Android Studio (version 3.4)
[?] VS Code, 64-bit edition (version 1.38.1)
[?] Connected device (3 available)
• No issues found!
Run Code Online (Sandbox Code Playgroud)
最终描述的错误报告场景:
flutter run --releaseFirestore.instance.collection('collection-name').document('docuemnt-id').get()
构建时也遇到相同的错误 flutter build appbudle
这是我噩梦的解决方案。
编辑:
错误
FATAL EXCEPTION: main
Process: com.app.android, PID: 12668
java.lang.RuntimeException: Internal error in Firestore (19.0.0).
at com.google.firebase.firestore.g.j.a(:379)
at com.google.firebase.firestore.g.g.run(Unknown Source:2)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6718)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Run Code Online (Sandbox Code Playgroud)
要修复此错误,请android.enableR8=false更新gradle.properties. 您需要添加此行,因为默认值为true。
小智 0
我有一个类似的案例(相同的错误),所以我会尝试告诉您发生了什么,也许与您遇到的问题相同。
就我而言,我丢失了密钥库,所以我经历了请求新密钥等的所有过程,之后我发布了一个新版本,并且我的应用程序以与您完全相同的方式崩溃,经过大量谷歌和其他内容我发现这与签名有关(因为在调试中有效,但在发布中不起作用),所以我进入 firebase 控制台并再次下载 google-services.json 文件,令人惊讶的是......该文件有一个以前不存在的块。
之后,我使用您在此处提供的命令在设备中进行测试(顺便说一句,谢谢!),哇啦!有用。
我还在控制台中更新了 SHA-1 签名密钥,因此这也可能有所帮助。希望我的回答能够帮助您找到解决方案。
| 归档时间: |
|
| 查看次数: |
1603 次 |
| 最近记录: |