Flutter Firestore не извлекает никаких данных в выпущенном apk для Android

avatar
TG Coder
8 августа 2021 в 16:33
221
1
0

Я попытался разработать флаттер-приложение, которое использует для аутентификации firestore и firebase auth.

В режиме отладки, когда я тестирую приложение, оно извлекает данные из firestore и показывает их. и аутентификация firebase также работают правильно.

Но в режиме деблокирования Firestore не извлекает никаких данных и показывает ошибку, указанную ниже. но аутентификация Firebase отлично работает в режиме выпуска.

Я обнаружил ошибку в режиме выпуска, используя вариант сборки Android Studio.

Спасибо, что прочитали.

E/io.grpc.internal.S1: [Channel<1>: (firestore.googleapis.com)] Uncaught exception in the SynchronizationContext. Panic!
    java.lang.ExceptionInInitializerError
        at m1.j.Q(Unknown Source:22)
        at io.grpc.internal.D.Q(Unknown Source:4)
        at io.grpc.internal.k1.A(:3)
        at io.grpc.internal.a1.run(:2)
        at k1.t1.a(Unknown Source:24)
        at k1.t1.execute(:2)
        at io.grpc.internal.K1.b(Unknown Source:9)
        at io.grpc.internal.u0.a(:10)
        at io.grpc.internal.u0.run(Unknown Source:38)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:919)
     Caused by: java.lang.RuntimeException: java.lang.NoSuchMethodException: o1.a.values []
        at java.lang.Enum.enumValues(Enum.java:270)
        at java.lang.Enum.access$000(Enum.java:61)
        at java.lang.Enum$1.create(Enum.java:277)
        at java.lang.Enum$1.create(Enum.java:275)
        at libcore.util.BasicLruCache.get(BasicLruCache.java:63)
        at java.lang.Enum.getSharedConstants(Enum.java:289)
        at java.lang.Class.getEnumConstantsShared(Class.java:2428)
        at java.util.EnumMap.getKeyUniverse(EnumMap.java:755)
        at java.util.EnumMap.<init>(EnumMap.java:138)
        at m1.v.<clinit>(:1)
        at m1.j.Q(Unknown Source:22) 
        at io.grpc.internal.D.Q(Unknown Source:4) 
        at io.grpc.internal.k1.A(:3) 
        at io.grpc.internal.a1.run(:2) 
        at k1.t1.a(Unknown Source:24) 
        at k1.t1.execute(:2) 
        at io.grpc.internal.K1.b(Unknown Source:9) 
        at io.grpc.internal.u0.a(:10) 
        at io.grpc.internal.u0.run(Unknown Source:38) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
        at java.lang.Thread.run(Thread.java:919) 
     Caused by: java.lang.NoSuchMethodException: o1.a.values []
        at java.lang.Class.getMethod(Class.java:2072)
        at java.lang.Class.getDeclaredMethod(Class.java:2050)
        at java.lang.Enum.enumValues(Enum.java:267)

W/Firestore: (23.0.1) [Z]: (3a36b20) Stream closed with status: o1{code=INTERNAL, description=Panic! This is a bug!  cause=java.lang.ExceptionInInitializerError
        at m1.j.Q(Unknown Source:22)
        at io.grpc.internal.D.Q(Unknown Source:4)
        at io.grpc.internal.k1.A(:3)
        at io.grpc.internal.a1.run(:2)
        at k1.t1.a(Unknown Source:24)
        at k1.t1.execute(:2)
        at io.grpc.internal.K1.b(Unknown Source:9)
        at io.grpc.internal.u0.a(:10)
        at io.grpc.internal.u0.run(Unknown Source:38) 
Источник

Ответы (1)

avatar
hschk
7 октября 2021 в 07:00
2

Это распространенная ошибка в Firestore. Проблема связана с полями minifyEnabled и shrinkResources в android/app/build.gradle.

Вы сможете решить эту проблему, изменив тип сборки выпуска в android/app/build.gradle следующим образом:

buildTypes {
...
    release {
        ...
        signingConfig signingConfigs.release
        minifyEnabled false
        shrinkResources false
    }
}  

Конечно, это не идеальное "решение", так как размер приложения становится больше. Но команда Firebase говорит, что не может помочь, потому что мы используем флаттер, который официально не поддерживается...

Вот связанные проблемы: https://github.com/FirebaseExtended/flutterfire/discussions/5708#discussioncomment-925997
https://github.com/FirebaseExtended/flutterfire/issues/14020><2912

>