完美解决Android Studio集成crashlytics后无法编译的问题
问题描述:
在用fabric集成后编译出现如下错误,
error:cause: hostname in certificate didn't match: <maven.fabric.io> != <*.motili.com> or <*.motili.com> or <motili.com>
build.gradle部分脚本(fabric插件自动生成的):
buildscript { repositories { maven { url 'https://maven.fabric.io/public' } } dependencies { classpath 'io.fabric.tools:gradle:1.+' } } apply plugin: 'com.android.application' apply plugin: 'io.fabric' repositories { maven { url 'https://maven.fabric.io/public' } }
仔细看了一下那个https://maven.fabric.io/public网站的证书(如下图),证书里指定的网站是*.motili.com,显然错了,不知道这个插件是怎么生成的。
studio在请求https://maven.fabric.io/public无法完成证书校验,所以直接报错,而且在settings把https证书验证去掉也不行。
然后给support发邮件问原因,3天后才给回复,回复内容如下:
hey there, are you by any chance connecting through a proxy server, or are you behind a firewall? cheers, bear helpful? click to give bear douglas thanks!
没有实际内容,是support反应太慢,还是support根本就已经不重视这块crashlytics了。
问题原因:
https://maven.fabric.io/public 无法访问(证书不匹配),那么其实只要把这个网址换掉即可,后面找到了可以换成:
https://twittersdk.artifactoryonline.com/twittersdk/public
build.gradle直接替换即可,改成:
buildscript { repositories { maven { url 'https://twittersdk.artifactoryonline.com/twittersdk/public' } } dependencies { classpath 'io.fabric.tools:gradle:1.+' } } apply plugin: 'com.android.application' apply plugin: 'io.fabric' repositories { maven { url 'https://twittersdk.artifactoryonline.com/twittersdk/public' } }
另外个人使用crashlytics的一些感受:
1、 fabric.io界面,crash分析功能比较全,可惜没有anr/卡顿的检测,这块有点弱。
2、虽然有studio插件,但是studio集成速度太慢了,国外的网站还经常上不去,反正那个插件点按钮半天没反应
3、gradle编译连接下载aar库时也是非常慢,要有耐心
4、登陆fabric.io查看数据有时候也很卡,反应太慢,对于要快点进去查看数据的开发者相当不友好
5、界面排版有点太杂了,很多时候让用户不知所措,不知道点哪里。
6、 收集到一些crash不知为何是乱码的,看不到原始数据
以上这篇完美解决android studio集成crashlytics后无法编译的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。