1

我一直在尝试将 Facebook 广告与 Audience-network-sdk:5.0.0 集成到我的 Android 应用程序中,而 Facebook sdk 因以下错误而崩溃:

10-16 13:12:07.128 25301-25725/? D/ProxyCache: Open connection  to http://127.0.0.1:43557/ping
        10-16 13:12:08.318 25301-25586/? E/ProxyCache: Error pinging server [attempt: 2, timeout: 1200]. 
        java.util.concurrent.TimeoutException
            at java.util.concurrent.FutureTask.get(FutureTask.java:176)
            at com.facebook.ads.internal.r.b.f.b(Unknown Source)
            at com.facebook.ads.internal.r.b.f.<init>(Unknown Source)
            at com.facebook.ads.internal.r.b.f.<init>(Unknown Source)
            at com.facebook.ads.internal.f.d$1.a(Unknown Source)
            at com.facebook.ads.internal.f.d$1.call(Unknown Source)
            at java.util.concurrent.FutureTask.run(FutureTask.java:237)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
            at java.lang.Thread.run(Thread.java:818)
        Shutdown server... Error pinging server [attempts: 3, max timeout: 1200].
    10-16 13:12:08.318 25301-25586/? I/ProxyCache: Shutdown proxy server
    10-16 13:12:08.328 25301-25602/? W/System.err: java.lang.InterruptedException
    10-16 13:12:08.348 25301-25602/? W/System.err:     at java.lang.Thread.sleep(Native Method)
            at java.lang.Thread.sleep(Thread.java:1031)
            at java.lang.Thread.sleep(Thread.java:985)
            at com.splunk.mint.ExceptionHandler.uncaughtException(ExceptionHandler.java:64)
            at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
            at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)
    10-16 13:12:08.348 25301-25602/? E/AndroidRuntime: FATAL EXCEPTION: Thread-12294
        PID: 25301
        java.lang.NullPointerException: Attempt to invoke virtual method 'void java.io.FileDescriptor.setInt$(int)' on a null object reference
            at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:93)
            at java.net.ServerSocket.implAccept(ServerSocket.java:216)
            at java.net.ServerSocket.accept(ServerSocket.java:140)
            at com.facebook.ads.internal.r.b.f.e(Unknown Source)
            at com.facebook.ads.internal.r.b.f.a(Unknown Source)
            at com.facebook.ads.internal.r.b.f$e.run(Unknown Source)
            at java.lang.Thread.run(Thread.java:818)

正如您所看到的,跟踪只是告诉您 ping(以及与本地主机的连接)失败,但它并没有告诉您更多信息。我没有解决它,因为它只发生在物理设备中并且只发生在我的应用程序中(来自 Facebook 的示例应用程序在同一设备和同一网络中运行良好)。

我不知道为什么会发生以及如何解决它。

4

1 回答 1

1

所以我终于找到了错误和解决方案。

让我解释一下错误:

  1. Facebook 广告 SDK 使用 localhost 代理缓存来下载广告资源

  2. 我还使用 Splunk Mint 来跟踪我的应用在生产中的错误。

  3. Splunk Mint 库的 http 监控存在问题:

禁用网络监控

解决方案是在 init Mint SDK 之前添加这一行:

Mint.disableNetworkMonitoring();
于 2018-10-19T03:10:42.990 回答