我們可以看到,報的錯是“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:\Android\sdk\build-tools
能看到我這里的最高的版本是26.0.3,然后修改build.gradle中
android {
compileSdkVersion 26
buildToolsVersion '26.0.3'
}
第二步:找到sdk的安裝路徑,比如我的安裝路徑是D:\Android\sdk\extras\android\m2repository\com\android\support
能看到我這里的最高的版本是26.0.0-alpha1,然后修改compile 中 "com.android.support:appcompat-v7:26.0.0-alpha1"
最終,編譯成功!