Флаттер Firestore принудительно закрывается (ошибка) в сборке apk release - PullRequest
0 голосов
/ 05 января 2020

Я получил сообщение об ошибке в firestore при выпуске build apk, приложение закрывается при доступе к коду firestore. Но это хорошо, когда прямой запуск (отладка) в коде AS / VS. Кто-нибудь может это объяснить?

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:794)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:176)
    at android.app.ActivityThread.main(ActivityThread.java:6651)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:824)
Caused by: java.lang.AbstractMethodError: abstract method "b.b.g.w$d b.b.g.w$d.b(int)"
    at b.b.g.r.a(:1319)
    at b.b.e.a.da.C(:5440)
    at b.b.e.a.da.a(:5509)
    at b.b.e.a.da.a(:13)
    at b.b.e.a.da$a.a(:6589)
    at com.google.firebase.firestore.f.y.b(:730)
    at com.google.firebase.firestore.c.h.a(:215)
    at com.google.firebase.firestore.c.va.c(:103)
    at com.google.firebase.firestore.c.va.a(:142)
    at com.google.firebase.firestore.c.t.a(:530)
    at com.google.firebase.firestore.c.q.run(Unknown Source:6)
    at com.google.firebase.firestore.c.na.a(:180)
    at com.google.firebase.firestore.c.t.a(:520)
    at com.google.firebase.firestore.b.P.a(:178)
    at com.google.firebase.firestore.b.m.a(:91)
    at com.google.firebase.firestore.b.z.b(:152)
    at com.google.firebase.firestore.b.v.run(Unknown Source:4)
    at com.google.firebase.firestore.g.j.a(:311)
    at com.google.firebase.firestore.g.f.call(Unknown Source:2)
    at com.google.firebase.firestore.g.j.a(:287)
    at com.google.firebase.firestore.g.e.run(Unknown Source: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.g.j$a.run(:205)
    at java.lang.Thread.run(Thread.java:764)

Ответы [ 2 ]

0 голосов
/ 14 февраля 2020

Чтобы исправить эту ошибку, обновите android.enableR8=false в gradle.properties. Вам необходимо добавить эту строку, так как значение по умолчанию true .

0 голосов
/ 04 февраля 2020

Кажется, есть проблема с оптимизацией ресурсов (сжатый код и обфускация) при работе с пакетом Firestore, как видно из java.lang.AbstractMethodError: abstract method "b.b.g.w$d b.b.g.w$d.b(int)", который выглядит как запутанный код.

Справочное сообщение от flutter build apk -h утверждает, что

- [no-] shrink. Включить ли сжатие кода в режиме выпуска. При включении сжатия вы также получаете выгоду от запутывания, которое сокращает имена классов и членов вашего приложения, и оптимизация, которая применяет более агрессивные стратегии для дальнейшего уменьшения размера вашего приложения. Чтобы узнать больше, см .: https://developer.android.com/studio/build/shrink-code (по умолчанию включено)

Вы можете использовать тег --no-shrink при создании apk, например flutter build apk --release --no-shrink, чтобы отключить сжатый код и запутывание, но обратите внимание, что это приводит к увеличению apk.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...