Администратор Firebase — необработанное исключение в цикле выполнения базы данных Firebase (4.1.5)

Я запускаю приложение в Firebase Admin. Таким образом, этот код работал при первом запуске, но через несколько недель я попробовал его снова и получил эту ошибку после нескольких часов отладки (RunLoop: неперехваченное исключение в цикле запуска базы данных Firebase (4.1.5)). Я видел другие с версией runloop (3.0.0), но ни одна из ошибок не соответствует моей.

        InputStream serviceAccount = getAssets().open("<My JSON file goes here>");
        FirebaseOptions options = new FirebaseOptions.Builder()
                .setCredential(FirebaseCredentials.fromCertificate(serviceAccount))
                .setDatabaseUrl("<My Firebase link goes here>")
                .build();

        FirebaseApp defaultApp = FirebaseApp.initializeApp(options);


        database = FirebaseDatabase.getInstance();
        database.setLogLevel(Logger.Level.DEBUG);
        database.getReference().child("test").setValue("test value");

Для моих файлов gradle у меня есть только это:

compile 'com.google.firebase:firebase-admin:4.1.5'
compile 'com.android.support:appcompat-v7:25.2.0'
compile 'com.android.support:design:25.2.0'
testCompile 'junit:junit:4.12'
compile 'com.android.support.constraint:constraint-layout:1.0.0-beta5'

И вот еще трассировка стека:

W/System.err: Mon Apr 03 11:39:33 GMT+08:00 2017 [ERROR] RunLoop: Uncaught exception in Firebase Database runloop (4.1.5). Please report to [email protected]
W/System.err: java.lang.NoSuchMethodError: No virtual method object()Lorg/json/JSONWriter; in class Lorg/json/JSONStringer; or its super classes (declaration of 'org.json.JSONStringer' appears in /system/framework/core-libart.jar)
W/System.err:     at com.google.firebase.database.util.JsonMapper.serializeJsonValue(JsonMapper.java:55)
W/System.err:     at com.google.firebase.database.util.JsonMapper.serializeJsonValue(JsonMapper.java:44)
W/System.err:     at com.google.firebase.database.util.JsonMapper.serializeJson(JsonMapper.java:24)
W/System.err:     at com.google.firebase.database.util.GAuthToken.serializeToString(GAuthToken.java:53)
W/System.err:     at com.google.firebase.database.core.JvmAuthTokenProvider.wrapOAuthToken(JvmAuthTokenProvider.java:110)

Любые идеи, что может быть не так? Заранее спасибо!


person Justin Liu    schedule 03.04.2017    source источник


Ответы (1)


Firebase Admin SDK не предназначен для запуска в приложении для Android. Он поддерживается только для автономных и серверных приложений. Для приложений Android вместо этого вы должны использовать обычный Android SDK.

person Doug Stevenson    schedule 03.04.2017
comment
Ага, понятно. Я был введен в заблуждение зависимостями gradle и прочим. В инструкциях Google также говорилось, что мне нужно серверное приложение, так что да. Во всяком случае, я сделал чистый java-сервер в Android Studio, и он сработал. Спасибо! - person Justin Liu; 07.04.2017