关于 Failed to resove:com.android.support:appcompat -v7:27.0.0问题思考以及解决方法

    最近一段时间准备开始养成写博客的习惯,东西尽量在记笔记之后再抽空写个博客来加深记忆和分享。

好了废话少说,楼主最近在做一个app检测更新的功能,由于时间短,决定去gitup找个轮子直接用,功能和性能看的差不多,开始引入一个三方库,刚添加依赖却提示这个:

关于 Failed to resove:com.android.support:appcompat -v7:27.0.0问题思考以及解决方法_第1张图片

看到这个大家都碰到过也就是我们的本地库里面没有这个,看了下我的build.gradle,我本地引用的是appcompat-v7:25.3.1

本以为直接点击install就可以直接下载,但是点了半天发现一点都没用,然后我开始考虑其他的操作,百度了下,

是因为引用三方包的时候,因为com.android.support不同会发生冲突解决方法是在内存的build.gradle里面添加:


一编译发现不会出错了,然后接着运行,结果发现app却崩溃了,看了下日志发现提示
UncaughtException detected: java.lang.NoSuchMethodError: No direct method (Landroid/content/Context;Ljava/lang/String;)V in class Landroid/support/v4/app/NotificationCompat$Builder; ,进了源码发现在appcompat-v7:25.3.1的NotificationCompat的builder方法只有一个参数,但是三方库引用的v7:26.0.0的这个方法却有两个参数,于是我直接把三方库拷贝到项目里面直接引用,然后把它的编译版本和appcompat降级为25,修改NotificationCompat$Builder的方法,ok项目可以了,然后我又在研究为什么我不可以下载,发现有些关键字搜索出来的结果不足以解决我的问题,后来发现直接在外层builde.gradle里面添加

allprojects {
    repositories {
        jcenter()
        maven { url 'https://maven.google.com' }
    }
}
就可以愉快的升级了。

你可能感兴趣的:(项目中遇到的问题)