Android Firestore не может получить FirestoreInstance - PullRequest
0 голосов
/ 08 марта 2019

Я пытаюсь настроить Firstore API с моим проектом Android, однако, когда я пытаюсь вызвать FirebaseFirestore.getInstance(), я получаю эту ошибку:

Exception in thread "main" java.lang.ExceptionInInitializerError
    at com.google.firebase.FirebaseApp.<clinit>(com.google.firebase:firebase-common@@16.1.0:150)
    at com.google.firebase.firestore.FirebaseFirestore.getInstance(com.google.firebase:firebase-firestore@@18.1.0:70)
    at ip.travelaid.backend.Database.<init>(Database.java:16)
    at ip.travelaid.backend.CLITest.main(CLITest.java:11)
Caused by: java.lang.RuntimeException: Stub!
    at android.os.Looper.getMainLooper(Looper.java:23)
    at com.google.firebase.FirebaseApp$UiExecutor.<clinit>(com.google.firebase:firebase-common@@16.1.0:987)
    ... 4 more

Я проверил как файлы проекта, так и приложения уровня build.gradle, и они соответствуют требованиям документации, даже Firebase Assistant в AS говорит, что они правы. На всякий случай, хотя вот они:

Модуль build.gradle:

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

buildscript {
    repositories {
        google()
        jcenter()

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.2'
        classpath 'com.google.gms:google-services:4.2.0'

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

allprojects {
    repositories {
        google()
        jcenter()

    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Приложение build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "ip.travelaid"
        minSdkVersion 26
        targetSdkVersion 26
        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 {
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.android.support:design:26.1.0'
    implementation 'com.android.support:support-annotations:28.0.0'
    implementation 'com.google.firebase:firebase-firestore:18.1.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
apply plugin: 'com.google.gms.google-services'

В Firebase Console я настроил базу данных для отклонения любых запросов на чтение / запись, но я подумал, что это не повлияет на мою способность получить экземпляр в базу данных. Файл google-services.json для проекта Firebase обновлен, я даже пытался повторно загрузить его с консоли Firebase, но безрезультатно.

Я пытался найти решение в Интернете, но, похоже, там ничего нет (это может быть из-за того, что я не могу найти проблему должным образом).

Есть ли какая-либо настройка в консоли Firebase или AS, которую я пропускаю и которая может быть причиной этой проблемы?

Ответы [ 2 ]

0 голосов
/ 08 марта 2019

Обновление скомпилировано и целевой SDK, как это так V

compiled sdk 26

до

compiled sdk 28
0 голосов
/ 08 марта 2019

Обязательный: NVM Я понял это.

Проблема заключалась в том, что я пытался запустить код из командной строки, а не через эмулятор Android / устройство, фактически запускающее приложение.Когда я его запустил, проблема исчезла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...