【问题标题】:Crashlytics connection refused - failed to connect to failed to connect to api.crashlytics.comCrashlytics 连接被拒绝 - 无法连接到 无法连接到 api.crashlytics.com
【发布时间】:2014-07-06 11:15:48
【问题描述】:

我在启动我的应用程序时收到以下错误。使用插件配置 Crashlytics - build.gradle、AndroidManifest.xml、crashlytics.properties 中存在相应的条目。从我的应用程序类启动 Crashlytics。我每次都得到这个。我不支持代理或任何东西。

E/Crashlytics﹕ Error performing auto configuration.
com.crashlytics.android.internal.aD: java.net.ConnectException: failed to connect to api.crashlytics.com/127.0.0.1 (port 443) after 10000ms: isConnected failed: ECONNREFUSED (Connection refused)
        at com.crashlytics.android.internal.ay.a(SourceFile:2582)
        at com.crashlytics.android.internal.ay.b(SourceFile:2562)
        at com.crashlytics.android.internal.ay.b(SourceFile:2548)
        at com.crashlytics.android.a.a(SourceFile:81)
        at com.crashlytics.android.a.a(SourceFile:50)
        at com.crashlytics.android.Crashlytics.a(SourceFile:895)
        at com.crashlytics.android.Crashlytics.a(SourceFile:54)
        at com.crashlytics.android.t.a(SourceFile:839)
        at com.crashlytics.android.internal.aa.run(SourceFile:13)
        at java.lang.Thread.run(Thread.java:841)
 Caused by: java.net.ConnectException: failed to connect to api.crashlytics.com/127.0.0.1 (port 443) after 10000ms: isConnected failed: ECONNREFUSED (Connection refused)
        at libcore.io.IoBridge.isConnected(IoBridge.java:223)
        at libcore.io.IoBridge.connectErrno(IoBridge.java:161)
        at libcore.io.IoBridge.connect(IoBridge.java:112)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
        at java.net.Socket.connect(Socket.java:843)
        at com.android.okhttp.internal.Platform.connectSocket(Platform.java:131)
        at com.android.okhttp.Connection.connect(Connection.java:101)
        at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:294)
        at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255)
        at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206)
        at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345)
        at com.android.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:89)
        at com.android.okhttp.internal.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:197)
        at com.android.okhttp.internal.http.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:254)
        at com.crashlytics.android.internal.ay.i(SourceFile:2486)
        at com.crashlytics.android.internal.ay.j(SourceFile:2499)

【问题讨论】:

    标签: android crashlytics


    【解决方案1】:

    来自 Crashlytics 的 Hemal。你能检查一下是否有任何广告拦截软件干扰了连接吗?

    【讨论】:

    • 嗨@hemal 我使用了fabric crashlytics,并且遇到了同样的问题。我确定我的手机中没有任何广告拦截软件。但是有什么办法解决这个问题吗??
    • 这应该是公认的答案吗?为什么我没有任何广告拦截软件?
    【解决方案2】:

    我在小米 M4 上遇到了同样的问题。如上所述,如果您没有任何广告拦截应用程序,那么主要原因是/ets/hosts 文件。

    你可以从命令行检查这个猜测:

    adb shell # run a shell there
    cat /etc/hosts | grep crashlytics # print file content and filter it by 'crashlytics' word
    

    如果你看到类似这样的行列表,那么这就是你正在寻找的问题:

    127.0.0.1 api.crashlytics.com
    127.0.0.1 apps.crashlytics.com
    127.0.0.1 beta.crashlytics.com
    127.0.0.1 blog.crashlytics.com
    127.0.0.1 calendar.crashlytics.com
    127.0.0.1 crashlytics.com
    127.0.0.1 docs.crashlytics.com
    127.0.0.1 download.crashlytics.com
    127.0.0.1 e.crashlytics.com
    127.0.0.1 report.crashlytics.com
    127.0.0.1 reports.crashlytics.com
    127.0.0.1 settings.crashlytics.com
    127.0.0.1 support.crashlytics.com
    127.0.0.1 try.crashlytics.com
    127.0.0.1 www.crashlytics.com
    

    要解决此问题,您应该评论它们。我找到了here的想法,但我无法通过vi编辑文件。所以我只是拉动、更改并推回hosts 文件。请注意:您的设备必须植根才能执行此操作。

    adb pull /etc/hosts ./<your_computer_directory> # get hosts file from device 
    

    只需像这样的注释行:

    #127.0.0.1 api.crashlytics.com
    #127.0.0.1 apps.crashlytics.com
    #127.0.0.1 beta.crashlytics.com
    #127.0.0.1 blog.crashlytics.com
    #127.0.0.1 calendar.crashlytics.com
    #127.0.0.1 crashlytics.com
    #127.0.0.1 docs.crashlytics.com
    #127.0.0.1 download.crashlytics.com
    #127.0.0.1 e.crashlytics.com
    #127.0.0.1 report.crashlytics.com
    #127.0.0.1 reports.crashlytics.com
    #127.0.0.1 settings.crashlytics.com
    #127.0.0.1 support.crashlytics.com
    #127.0.0.1 try.crashlytics.com
    #127.0.0.1 www.crashlytics.com
    

    没有根规则你不能把它推回去。所以把它推到某个 tmp 用户目录中:

    adb push ./<your_computer_directory>/hosts /mnt/sdcard/hosts
    

    然后以root身份输入并替换/etc/hosts文件:

    adb shell # run a shell there
    su # become the root (don't miss confirmation request!)
    mount -o remount,rw /system # allow to write
    cp /mnt/sdcard/hosts /etc/hosts
    rm /mnt/sdcard/hosts
    mount -o remount,ro /system # get things back to normal
    exit # unroot
    nslookup YourBlockedAdSite.Net # check if it works
    exit # good bye
    

    利润!

    【讨论】:

      【解决方案3】:

      面对同样的问题,AdAway 阻止了 crashlytics.com。刚刚将此主机添加到白名单。

      【讨论】:

        【解决方案4】:

        检查您的设备是否安装了任何类型的广告拦截软件,或者您的 hosts 文件是否被修改以拦截广告。 如果您的设备已植根,那么您可以检查 /etc/hosts 下的主机文件中的“127.0.0.1 crashlytics.com”行。可能这条线导致了这个问题。

        将 crashlytics.com 添加到 AdAway 的白名单并测试您的应用。

        干杯

        【讨论】:

          【解决方案5】:

          如果您安装了 AdAway 作为广告拦截器。您可以按照以下步骤将 Crashlytics API 列入白名单:

          • 从 AdAway 菜单中,选择“您的列表”。
          • 选择标有“WHITE”的(第二个)标签。
          • 点击操作栏上的加号按钮,应该会出现主机名提示。
          • 输入*.crashlytics.com,然后点击添加。
          • 它应该显示为“白色”选项卡下的列表项,确保已选中。
          • 返回主菜单,然后再次下载并应用广告拦截。

          您的设备现在应该能够访问 Crashlytics API。

          P.S.:即使您没有安装广告拦截软件,一些手机制造商也会在其设备上启用默认黑名单作为某种广告拦截功能。通常,有一个设置选项可以禁用它。但是您的里程可能会有所不同。您可以检查您的 android 设备的主机文件 (/etc/hosts) 以确保它不是来自您的制造商(如果您没有 root)。 此外,VPN 软件可能会通过 DNS 阻止主机,因此请务必检查一下。

          【讨论】:

            猜你喜欢
            • 2015-07-31
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-05-18
            • 2019-02-02
            • 2014-06-18
            相关资源
            最近更新 更多