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 –