![](/img/trans.png)
[英]java.lang.RuntimeException: Internal error in Firestore (0.6.6-dev) after updating Firestore version
[英]java.lang.RuntimeException: Internal error in Firestore (0.6.6-dev)
我在我的应用程序中使用 FireStore。 他们的版本是implementation 'com.google.firebase:firebase-firestore:17.0.1'
我正在使用Firestore
数据库和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 后会发生这种情况吗?
然后尝试在 firebase 控制台中添加已签名应用的 SHA1 或 SHA256
如果您使用对象获取数据并在 gradle 中使用 minifyEnabled true
然后更改您的 proguard 文件
尝试将-keep class io.grpc.** {*;}
到您的 proguard 配置中。 它应该工作。 自从我添加它以来,没有任何崩溃。 将进一步测试。
我遇到了同样的问题,自从我将我的firestore依赖更新为超过 v16 。 它只发生在我的发布版本中,特别是在debuggable必须设置为false 的情况下。
我可以确认所选的解决方案(将以下内容添加到 proguard 配置中)确实解决了崩溃问题。
-keep class io.grpc.** {*;}
注意我正在使用 Flutter,所以这应该适用于 Java/Kotlin Android 和 Flutter
花了几个小时后,我修复了它
1
检查路径 yourproject/Android/app 中是否存在 proguard-android.txt 或 proguard-rules.pro
2
如果它们存在,请复制下面的配置,如果它们不存在,请在我提到的路径中为它们创建包含相同名称(proguard-android.txt 和 proguard-rules.pro)的单独文件
3(配置行)
-keep class io.grpc.** {*;}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
将上面的代码粘贴到两个文件中。
4(通过添加这一行让你的 myproject/Android/app/build.gradle 看到它们)
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.release //If in debug, change release to debug
minifyEnabled true
useProguard true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' //I add this line...
}
}
清理您的项目并运行或生成您的 APK。
祝你好运!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.