1

在我的Firebase崩潰報告中,我收到了android.os.NetworkOnMainThreadException。問題在於它是從我不承認的方法中提出的。 「MainActivity.a()」NetworkOnMainThreadException Firebase崩潰

android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork (StrictMode.java:1145) 
java.net.InetAddress.lookupHostByName (InetAddress.java:385) 
java.net.InetAddress.getAllByNameImpl (InetAddress.java:236) 
java.net.InetAddress.getByName (InetAddress.java:289) 
--> com.mycompany.h.h() 
--> com.mycompany.h.b() 
--> com.mycompany.myapp.MainActivity.a() 
--> com.mycompany.myapp.MainActivity.a() 
--> com.mycompany.myapp.MainActivity$127.onClick() 
android.support.v7.app.d$b.handleMessage() 
android.os.Handler.dispatchMessage (Handler.java:102) 
android.os.Looper.loop (Looper.java:136) 
android.app.ActivityThread.main (ActivityThread.java:5102) 
java.lang.reflect.Method.invokeNative (Method.java) 
java.lang.reflect.Method.invoke (Method.java:515) 
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:785) 
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:601) 
dalvik.system.NativeStart.main (NativeStart.java) 

我用箭頭標記的那些,我不知道在哪裏他們跟蹤到,因爲在我的代碼不存在這些方法。

作爲另一個額外的獎勵,我只得到這個崩潰的API 19.我測試的API 23,我也將目標瞄準在23

我的應用程序發送和接收OSC的信息,所以試圖跟蹤雖然,發送OSC命令的唯一方法是通過AsyncTask,但是我不確定問題可能出在哪裏。

回答

1

也許你對你的應用程序感到困惑,你的日誌不能阻止這種方法,如果你將你的應用程序推送到AppStore,你可以嘗試反編譯你的應用程序並找到這個方法的位置,或者你可以取消混淆並嘗試重現這個問題,這是我的觀點,希望它對你有所幫助。

+0

聽起來的確如此。請參閱有關如何將proguard映射文件上傳到Firebase的文檔,以便它自動顯示原始堆棧跟蹤:https://firebase.google.com/docs/crash/android#deobfuscate_proguard_labels –