Я использую FireStore в своем приложении.
и их версия
implementation 'com.google.firebase:firebase-firestore:17.0.1'
Я использую базу данных Firestore и offline feature of firestore для получения данных.
это работает нормально, но когда я подписываю приложение, я получаю ошибку ниже.
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.firestoretest.videostatus, PID: 13763
java.lang.RuntimeException: Internal error in Firestore (0.6.6-dev).
at bov.b(Unknown Source:19)
at box.run(Unknown Source:2)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:172)
at android.app.ActivityThread.main(ActivityThread.java:6637)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Caused by: java.lang.ExceptionInInitializerError
at cbh.<clinit>(Unknown Source:20)
at ced.b(Unknown Source:0)
at cee.b(Unknown Source:0)
at cee.a(Unknown Source:0)
at car.a(Unknown Source:4)
at bod.<init>(Unknown Source:22)
at bjo.a(Unknown Source:87)
at bjq.run(Unknown Source:8)
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 bov$a.run(Unknown Source:15)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Package.getImplementationVersion()' on a null object reference
at cco.b(Unknown Source:6)
at cco.<clinit>(Unknown Source:137)
at cbh.<clinit>(Unknown Source:20)
at ced.b(Unknown Source:0)
at cee.b(Unknown Source:0)
at cee.a(Unknown Source:0)
at car.a(Unknown Source:4)
at bod.<init>(Unknown Source:22)
at bjo.a(Unknown Source:87)
at bjq.run(Unknown Source:8)
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 bov$a.run(Unknown Source:15)
at java.lang.Thread.run(Thread.java:764)
У кого-нибудь есть представление об этой ошибке, тогда сообщите мне. Заранее спасибо.
Вы говорите, что это происходит после создания подписанного apk?
Затем попробуйте добавить SHA1 или SHA256 вашего подписанного приложения в консоли firebase.
и если вы используете объекты для получения данных и используете minifyEnabled true в градиенте
затем измените свой файл proguard
Попробуйте добавить -keep class io.grpc.** {*;} в конфигурацию вашего прогарда. Он должен работать. С тех пор, как я его добавил, сбоев не было. Буду тестировать дальше.
У меня была такая же проблема с тех пор, как я обновил свою зависимость пожарный склад до более v16. Это происходит только в моих сборках релиз, в частности, где отлаживаемый должен быть установлен на ложный.
Я могу подтвердить, что выбранное решение (добавление следующего в конфигурацию proguard) действительно устраняет сбои.
-keep class io.grpc.** {*;}
Документация или официальный источник для этого?