ank*_*hut 7 android firebase android-studio google-cloud-firestore
我在我的应用程序中使用 FireStore。\n它们的版本是 \nimplementation 'com.google.firebase:firebase-firestore:17.0.1'
我正在使用Firestore和的数据库offline feature of firestore来获取数据。
这工作正常,但是当我签署应用程序时,我遇到了错误。
\n\n E/AndroidRuntime: FATAL EXCEPTION: main\n Process: com.firestoretest.videostatus, PID: 13763\n java.lang.RuntimeException: Internal error in Firestore (0.6.6-dev).\n at bov.b(Unknown Source:19)\n at box.run(Unknown Source:2)\n at android.os.Handler.handleCallback(Handler.java:789)\n at android.os.Handler.dispatchMessage(Handler.java:98)\n at android.os.Looper.loop(Looper.java:172)\n at android.app.ActivityThread.main(ActivityThread.java:6637)\n at java.lang.reflect.Method.invoke(Native Method)\n at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)\n at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)\n Caused by: java.lang.ExceptionInInitializerError\n at cbh.<clinit>(Unknown Source:20)\n at ced.b(Unknown Source:0)\n at cee.b(Unknown Source:0)\n at cee.a(Unknown Source:0)\n at car.a(Unknown Source:4)\n at bod.<init>(Unknown Source:22)\n at bjo.a(Unknown Source:87)\n at bjq.run(Unknown Source:8)\n at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)\n at java.util.concurrent.FutureTask.run(FutureTask.java:266)\n at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)\n at bov$a.run(Unknown Source:15)\n at java.lang.Thread.run(Thread.java:764)\n Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Package.getImplementationVersion()' on a null object reference\n at cco.b(Unknown Source:6)\n at cco.<clinit>(Unknown Source:137)\n at cbh.<clinit>(Unknown Source:20)\xc2\xa0\n at ced.b(Unknown Source:0)\xc2\xa0\n at cee.b(Unknown Source:0)\xc2\xa0\n at cee.a(Unknown Source:0)\xc2\xa0\n at car.a(Unknown Source:4)\xc2\xa0\n at bod.<init>(Unknown Source:22)\xc2\xa0\n at bjo.a(Unknown Source:87)\xc2\xa0\n at bjq.run(Unknown Source:8)\xc2\xa0\n at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)\xc2\xa0\n at java.util.concurrent.FutureTask.run(FutureTask.java:266)\xc2\xa0\n at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)\xc2\xa0\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)\xc2\xa0\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)\xc2\xa0\n at bov$a.run(Unknown Source:15)\xc2\xa0\n at java.lang.Thread.run(Thread.java:764)\nRun Code Online (Sandbox Code Playgroud)\n\n请任何人对此错误有任何想法,然后请通知我。\n提前致谢。
\n小智 6
尝试添加-keep class io.grpc.** {*;}到您的 proguard 配置中。它应该有效。自从我添加它以来,还没有发生过任何崩溃。将进一步测试。
注意我正在使用 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);
}
Run Code Online (Sandbox Code Playgroud)
将上面的代码粘贴到两个文件中。
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...
}
}
Run Code Online (Sandbox Code Playgroud)
清理您的项目并运行或生成您的 APK。
| 归档时间: |
|
| 查看次数: |
3108 次 |
| 最近记录: |