我在 Firebase Admin 上运行一个应用程序。所以这段代码在我第一次运行时就可以工作,但几周后我又试了一次,经过数小时的调试后我一直收到这个错误(RunLoop:Firebase Database runloop (4.1.5) 中的未捕获异常)。我见过其他的运行循环版本为(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 firebase-database-client@google.com
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)
有什么想法可能是错的吗?先谢谢了!