坑系列(一)Failed to resolve: com.android.support:appcompat-v7:27.+

使用Android Studio(版本2.3.3)新建了一個測試項目,隨後編譯無法通過,直接報錯
在這裏插入圖片描述

錯誤分析

通過日誌信息,我們很容易就能定位到問題代碼

        compile 'com.android.support:appcompat-v7:27.+'

這是一種很正常的寫法,當我們需要一個library時,我們就能通過compile方式在Maven倉庫服務器上去下載我們需要的library,而Android Studio 的默認倉庫是jcenter,即

        allprojects {
                repositories {
                    jcenter()
                }
            }

那爲什麼還會添加失敗呢?那是因爲在jcenter上並沒有v7:27.+的library,我們使用的support:appcompat-v7的依賴都是我們sdk本身提供的。

在這裏插入圖片描述

如果sdk沒有相應的library我們該怎麼辦?很簡單,除了jcenter和Maven Central這兩種標準的Android library倉庫外,我們還可以定義自己特有的Maven倉庫服務器來存放library,例如我們能夠從google自己的倉庫裏來下載v7:27.+library

        maven { url "https://maven.google.com" }
解決方案

好了,既然我們知道了產生問題的原因,那麼解決方法也就好說了,第一種方法即在我們的buile.gradle中添加谷歌倉庫

        allprojects {
                repositories {
                    jcenter()
                    // 使用google的倉庫
                    maven { url "https://maven.google.com" }
                }
            }

第二種方法直接將我們的com.android.support:appcompat-v7版本調低即可,因爲我們自己的sdk裏就包含着v7:26+的library

        compile 'com.android.support:appcompat-v7:26.+'

第三種方法升級我們的Android Studio到3.2版本,我試了試,沒有這個問題,因爲gradle在編譯的時候已經替我們下載好了需要的v7:27+的library

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章