我们可以看到,报的错是“Failed to resolve: com.android.support:appcompat-v7:16.+”,也就是我们在build.gradle中最后一段中的compile项内容。
AS自动生成的“com.android.support:appcompat-v7:16.+”实际上是根据我们的最低版本16来选择16.x.x及以上编译器进行编译的,由于AS不知道具体的编译器版本是什么,所以就用了一个泛指“16.+”来代表16以上的编译器都行。这可能是之前AS的设计(未考证,只是推测,有知道的朋友可以提供说明,谢谢!),新版本中已经摒弃了这种写法。
那么我们就要找到当前AS所使用的SDK编译器版本是什么?
第一步:找到sdk的安装路径,比如我的安装路径是D:Androidsdkuild-tools
能看到我这里的最高的版本是26.0.3,然后修改build.gradle中
android {
compileSdkVersion 26
buildToolsVersion '26.0.3'
}
第二步:找到sdk的安装路径,比如我的安装路径是D:Androidsdkextrasandroidm2repositorycomandroidsupport
能看到我这里的最高的版本是26.0.0-alpha1,然后修改compile 中 "com.android.support:appcompat-v7:26.0.0-alpha1"
最终,编译成功!