2017-04-03 83 views
0

我在Firebase管理中運行應用程序。所以這段代碼在我第一次運行它的時候就工作了,但是幾個星期後我又試了一次,經過幾個小時的調試(RunLoop:Firebase Database runloop(4.1.5)中的未捕獲異常),我得到了這個錯誤。我已經看到其他的runloop版本爲(3.0.0),但沒有一個與我擁有的錯誤相匹配。Firebase管理員 - Firebase數據庫未捕獲的異常runloop(4.1.5)

 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) 

任何想法可能是錯誤的?先謝謝了!

回答

0

Firebase Admin SDK不打算在Android應用程序中運行。它僅支持獨立和服務器應用程序。對於Android應用程序,您應該使用常規的Android SDK。

+0

哦,我明白了。我被誤導了gradle的依賴和東西。谷歌的指示還說,我需要一個「服務器應用程序」,所以是的。無論如何,我在Android Studio中創建了一個純java服務器,並且它工作正常。謝謝! –

相關問題