Crashlytics连接被拒绝 - 无法连接到无法连接到api.crashlytics.com

dca*_*622 7 android crashlytics

启动我的应用程序时收到以下错误.使用插件配置Crashlytics - 存在build.gradle,AndroidManifest.xml,crashlytics.properties中的相应条目.从我的Application类开始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)
Run Code Online (Sandbox Code Playgroud)

小智 14

来自Crashlytics的Hemal来自这里.你能检查一下广告拦截软件是否干扰了连接吗?

  • 嗨@hemal我使用了fabric crashlytics并且在问题上遇到了同样的错误.我确信我手机上没有任何广告拦截软件.但任何想法解决这个问题? (4认同)

cos*_*sic 6

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

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

adb shell # run a shell there
cat /etc/hosts | grep crashlytics # print file content and filter it by 'crashlytics' word
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

要解决此问题,您应该对它们进行评论.我在这里找到如何做到这一点的想法,但我无法通过vi编辑文件.所以我只是拉,改变并推回hosts文件.请注意:您的设备必须扎根才能执行此操作.

adb pull /etc/hosts ./<your_computer_directory> # get hosts file from device 
Run Code Online (Sandbox Code Playgroud)

只需评论这样的行:

#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
Run Code Online (Sandbox Code Playgroud)

没有root规则你就无法推回它.所以将它推入一些tmp用户目录:

adb push ./<your_computer_directory>/hosts /mnt/sdcard/hosts
Run Code Online (Sandbox Code Playgroud)

然后以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
Run Code Online (Sandbox Code Playgroud)

利润!


小智 5

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