首页 > 解决方案 > 应用程序停止响应向 FireBase 添加数据。获取:解决失败:Lcom/google/common/base/CharMatcher;

问题描述

我是 FireStore 的新手,当我尝试使用 Hashmap 插入数据时,它显示错误。

这是我要添加到我的 Firestore 的行:

Map map = new HashMap<>();

    map.put("And","What");
    map.put("So","What Bro");

    firebaseFirestore.collection("mycollection").document("mydocument").set(map).addOnSuccessListener(new OnSuccessListener<Void>() {
        @Override
        public void onSuccess(Void aVoid) {
            Toast.makeText(ContactActivity.this, "Success", Toast.LENGTH_SHORT).show();
        }
    }).addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception e) {
            Toast.makeText(ContactActivity.this, "Failure", Toast.LENGTH_SHORT).show();
        }
    });

错误是:


E/AndroidRuntime:致命异常:AsyncTask #1 进程:com.example.myapp,PID:13076 java.lang.NoClassDefFoundError:解析失败:Lcom/google/common/base/CharMatcher;在 com.google.common.base.Splitter.on(Splitter.java:125) 在 io.grpc.internal.GrpcUtil.(GrpcUtil.java:203) 在 io.grpc.internal.AbstractManagedChannelImplBuilder.(AbstractManagedChannelImplBuilder.java:84 ) 在 io.grpc.okhttp.OkHttpChannelProvider.builderForTarget(OkHttpChannelProvider.java:48) 在 io.grpc.okhttp.OkHttpChannelProvider.builderForTarget(OkHttpChannelProvider.java:27) 在 io.grpc.ManagedChannelBuilder.forTarget(ManagedChannelBuilder.java:73)在 com.google.firebase.firestore.remote.GrpcCallProvider.initChannel(com.google.firebase:firebase-firestore@@21.4.3:113) 在 com.google.firebase.firestore。findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 16 更多原因:java.lang。 NoClassDefFoundError:使用引导类加载器找不到类;没有可用的堆栈

标签: androidfirebasegoogle-cloud-firestorehashmap

解决方案


我得到了解决方案。在应用程序> Build.gradle 文件中粘贴这行代码后,它工作正常。

这是代码:

implementation group: 'com.google.guava', name: 'guava', version: '28.1-android'

推荐阅读