Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Firebase数据库getInstance崩溃_Java_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Java Firebase数据库getInstance崩溃

Java Firebase数据库getInstance崩溃,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我看到过很多问题,问为什么应用程序会崩溃,并出现以下错误日志:无法获取FirebaseDatabase实例:FirebaseApp对象的FirebaseOptions对象中没有DatabaseURL 我通过Android studio配置了firebase 我仍然会遇到错误 我相信google-services.json文件没有错误,因为它是由Android Studio自动创建的 任何帮助都将不胜感激 我很乐意补充更多关于我被要求提供的代码的细节 编辑:创建数据库实例 FirebaseDa

我看到过很多问题,问为什么应用程序会崩溃,并出现以下错误日志:无法获取FirebaseDatabase实例:FirebaseApp对象的FirebaseOptions对象中没有DatabaseURL

我通过Android studio配置了firebase

我仍然会遇到错误

我相信google-services.json文件没有错误,因为它是由Android Studio自动创建的

任何帮助都将不胜感激

我很乐意补充更多关于我被要求提供的代码的细节

编辑:创建数据库实例

 FirebaseDatabase database = FirebaseDatabase.getInstance();

    DatabaseReference myRef = database.getReference("message");
    myRef.setValue("Hello, Wrld!");
以下是我的应用程序级别渐变:

apply plugin: 'com.android.application'

android {
compileSdkVersion 24
buildToolsVersion "24.0.3"

defaultConfig {
    applicationId "com.mypackage"
    minSdkVersion 15
    targetSdkVersion 24
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}

productFlavors {
    lite {
        applicationId "com.mypackage.a"
        versionCode 6
        versionName "3.0.0-lite"
    }
    pro {
        applicationId "com.mypackage.b"
        versionCode 1
        versionName "3.0.0-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:24.2.1'
compile 'com.facebook.android:facebook-android-sdk:4.16.1'
testCompile 'junit:junit:4.12'
compile 'com.google.firebase:firebase-database:9.8.0'
compile 'com.google.firebase:firebase-core:9.8.0'
compile 'com.google.firebase:firebase-crash:9.8.0'

compile 'com.google.android.gms:play-services-ads:9.8.0'

compile 'com.google.android.gms:play-services-places:9.8.0'
compile 'joda-time:joda-time:2.9.4'

}
apply plugin: 'com.google.gms.google-services'
这是我的项目级gradle:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
repositories {
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:2.2.2'

    classpath 'com.google.gms:google-services:3.0.0'


    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}
}

allprojects {
repositories {
    jcenter()
}
}

task clean(type: Delete) {
delete rootProject.buildDir
}
编辑:此外,即使我删除了我的google-services.json文件,代码仍会编译并在运行时失败。这是出乎意料的。我应该得到一个错误,不让文件编译


谢谢

我建议检查并从中的项目设置下载google services.json


我建议尝试使用上述解决方案。我希望它能起作用

请在Firebase上创建项目,然后添加具有适当包名的应用程序,将下载的json文件放入应用程序中:

我认为当前文件没有

 "project_info": {
    "project_number": "566986018979",
    "firebase_url": "https://test-fcm-17958.firebaseio.com",
    "project_id": "test-fcm-17958",
    "storage_bucket": "test-fcm-17958.appspot.com"

  }
Firebase url表示尚未添加任何应用程序,项目配置中可能存在一些问题

也请先尝试使用默认引用

mDatabase=FirebaseDatabase.getInstance().getReference()

问题在于,每种风格的应用程序都需要自己的google-services.json文件

所以我将它们添加到每个falvor的模块文件夹中


希望这对将来的人有帮助

在Android Studio中添加实现'com.google.firebase:firebase数据库:17.0.0'或最新版本build.gradle

Console.firebase.google.com/project settings还将在配置新项目期间为您提供com.google.firebase:firebase core:x.x.x:version。只需在gradle文件中使两个版本匹配即可


这可能对我起作用,可能是因为在FixBaseDATABASE.GETStaseSee()方法的后期版本中实现了bug修复。

< P>在应用程序中使用FielBaseRealTimeApple和PuoGug时,需要考虑模型对象在混淆后如何序列化和反序列化。如果使用DataSnapshot.getValue(类)或DatabaseReference.setValue(对象)读取和写入数据,则需要将规则添加到proguard-rules.pro文件:

# Add this global rule
-keepattributes Signature

# This rule will properly ProGuard all the model classes in
# the package com.yourcompany.models.
# Modify this rule to fit the structure of your app.
-keepclassmembers class com.yourcompany.models.** {
  *;
}

Ref:

是的,我也从项目设置下载了google-service.json。你检查过Firebase数据库身份验证权限了吗?是的,我检查过,两者都设置为true奇怪的是,在我制作的一个测试应用程序上,如果我删除google-services.json的内容,我会得到一个格式错误的json错误,但是在我上面介绍的应用程序中,即使我删除了json文件中的所有内容,它仍然会继续运行并崩溃。请您展示一下您正在创建FirebaseDatabase的实现部分。您是否按照文档中的说明设置了Gradle?你在用Android Studio吗?@Si8是的,我在用Android Studio。我已经更新了我的问题,包括梯度files@Si8我还从Firebase项目设置页面下载了我的google-services.json文件。所以这不太可能有问题,这很奇怪,但我会看一看,让你知道。没有添加任何应用程序-你能解释一下吗?我看到你解决了这个问题。。。太好了:)@Si8无论如何谢谢你的帮助!嘿我被困在附近的某个地方。你能详细说明你做了什么吗?如果需要,我可以共享我的代码。@newUser嘿!我只需将子文件放入每个flavors的特定文件夹中。你遇到了什么错误?