问题描述
最近使用Android studio总是会遇到一个莫名其妙的问题,就是新建一个默认的APP,居然编译不通过,原因是Gradle出错了。具体的报错信息为:
Failed to resolve: ‘com.android.support:appcompact-v7.+’
这句话的下边还有几句话,其中一句是这样的:
Install repository and sync project
这句话是带下划线的,大概是想说这是个链接,可以点击。但是点击了之后并没有任何软用。
解决方法
打开工程下的build.gradle
加上如下代码:
allprojects {
repositories {
jcenter()
// If you're using a version of Gradle lower than 4.1, you must instead use:
maven {
url 'https://maven.google.com'
}
// An alternative URL is 'https://dl.google.com/dl/android/maven2/'
}
}
注意这里的这个
maven {
url 'https://maven.google.com'
}
是后来加上的,也就是说你用Android Studio创建的默认工程的build。gradle是不带有句话的。
加上以后再Clean,Rebuild,就可以了。
原因分析
刚刚加的这句话的意思就是,在你的顶层build.gradle文件里使用Google的Maven仓库(注意不是app里的那个)
产生这个问题的原因就是,之前的Android Support Library dependencies都是从Android SDK Manager里面下载的,但是现在不行了,新的版本必须从Google的Maven仓库里面去下载。
评价
之前在Baidu里看了一大堆资料还是不知道该怎么解决,然后后来去Google了以下,在StackOverflow里看到了解决方案。引用StackOverflow里一位仁兄的对此评价:
because google android team is getting more and more dumb ass and always have these kind of updates wasting developers time to solve this stupid error.