java - firebase databasereference 没有给出虚方法错误

标签 java android firebase firebase-realtime-database

我正在尝试通过获取数据库引用来向 firebase 数据库添加一些信息,但它给出了以下错误:

Caused by: java.lang.NoSuchMethodError: 类 Lcom/google/firebase/FirebaseApp 中没有虚方法 zzckb()Z;或其父类(super class)('com.google.firebase.FirebaseApp' 的声明出现在/data/app/com.bogroup.ucuncuprogram-1/split_lib_dependencies_apk.apk:classes25.dex 中)

我的 java 代码如下所示:

package com.bogroup.ucuncuprogram;

import android.content.Context;
import android.widget.Toast;
import com.firebase.client.Firebase;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import static com.facebook.FacebookSdk.getApplicationContext;

public class database{

    private Firebase mRootRef;
    private DatabaseReference mDatabase;


    public void kullanicikontrol(String kullaniciadi){
        mDatabase = FirebaseDatabase.getInstance().getReference();
        mDatabase.child("users").child(kullaniciadi).setValue("9999999");
        //chieldref.setValue("9999999");

        Context context = getApplicationContext();
        CharSequence text = kullaniciadi;
        int duration = Toast.LENGTH_LONG;

        Toast toast = Toast.makeText(context, text, duration);
        toast.show();
    }
}

可能是什么问题,在此先感谢。

我的应用程序 build.grade 就像休闲:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.3"
    defaultConfig {
        applicationId "com.bogroup.ucuncuprogram"
        minSdkVersion 21
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    packagingOptions {
        exclude 'META-INF/NOTICE' // will not include NOTICE file
        exclude 'META-INF/LICENSE' // will not include LICENSE file
        // as noted by @Vishnuvathsan you may also need to include
        // variations on the file name. It depends on your dependencies.
        // Some other common variations on notice and license file names
        exclude 'META-INF/notice'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/license'
        exclude 'META-INF/license.txt'
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.0.0'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.google.firebase:firebase-core:9.4.0'
    compile 'com.google.firebase:firebase-auth:9.4.0'
    compile 'com.google.firebase:firebase-database:9.4.0'
    compile 'com.google.firebase:firebase-crash:9.4.0'
    compile 'com.firebase:firebase-client-android:2.2.4'
    //compile 'com.google.firebase:firebase-storage:9.4.0'
    compile 'com.firebaseui:firebase-ui:0.4.4'
    compile 'com.google.android.gms:play-services-auth:9.4.0'
    compile 'com.android.support:animated-vector-drawable:25.0.0'
    compile 'com.android.support:design:25.0.0'
    compile 'com.android.support:support-v4:25.0.0'
    compile 'com.android.support:cardview-v7:25.0.0'
    compile 'com.android.support:customtabs:25.0.0'
    compile 'com.android.support:recyclerview-v7:25.0.0'
    compile 'com.firebaseui:firebase-ui-auth:1.2.0'
    compile 'com.squareup.picasso:picasso:2.5.2'
    //compile 'com.android.support:customtabs:25.2.0'
    testCompile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'

最佳答案

您的 Firebase 和 Firebase UI 版本需要 line up according to the table on their Github Page .

作为引用,您是否应该选择升级(我强烈推荐)。

FirebaseUI Version
1.2.0

Firebase/Play Services Version
10.2.0

简单的方法来做到这一点

ext {
    googlePlayVer = "10.2.0"
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.0.0'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'

    // For example
    compile "com.google.firebase:firebase-core:${googlePlayVer}"
    compile "com.google.firebase:firebase-auth:${googlePlayVer}"
    compile "com.google.firebase:firebase-database:${googlePlayVer}"

关于java - firebase databasereference 没有给出虚方法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44447837/

相关文章:

android - 更改playerNotificationManager的操作图标,例如播放/暂停/停止

ios - 应用程序传输后,Firebase 通知无法发送到 iOS 平台

javascript - Firestore 总是进行 3 次 api 调用,其中一次需要 60 秒

java - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException : Unknown column 'raj' in 'field list' at sun. 反射(reflect)

Java LinkedList 迭代时删除的最安全方法

android - '显示 : table' makes div display smaller on Android device

android - 如何从 Firebase FCM 获取 "registration_ids"?

java - KARATE:打印语句不会使用 log4j2 写入控制台

java - 通过 JSCh 将密码传递给 shell 脚本

java - java.net.SocketTimeoutException 中 "Connect timed out"和 "failed to connect to"之间的确切区别是什么?