天天看點

Android Studio 3.0——unable to resolve dependency for cordovalib

今天突然想起以前弄過的Cordova,于是便下來重新玩玩,一開始Android Studio還沒更新,一切正常。然而當我選擇确定更新為3.0并同時更新了gradle後,項目竟然開始報錯

unable to resolve dependency for cordovalib...打開build.gradle看了後其中dependencies是這樣寫的

dependencies {
       
compile fileTree(dir: 'libs', include: '*.jar')      
// SUB-PROJECT DEPENDENCIES START debugCompile(project(path: "CordovaLib", configuration: "debug")) releaseCompile(project(path: "CordovaLib", configuration: "release")) // SUB-PROJECT DEPENDENCIES END}
感覺沒毛病,非常nice,于是特地查了下3.0版的dependencies是否有變動,一查果然有妖孽作祟,如果你沒有一個libary項目,原來的寫法并不會有問題,但加入一個lib的寫法      
需做如下改動      
dependencies {
    implementation fileTree(dir: 'libs', include: '*.jar')
    // SUB-PROJECT DEPENDENCIES START
//    debugCompile(project(path: "CordovaLib", configuration: "debug"))
//    releaseCompile(project(path: "CordovaLib", configuration: "release"))
    // SUB-PROJECT DEPENDENCIES END
    implementation project(':CordovaLib')
    debugImplementation project(':CordovaLib')
    releaseImplementation project(':CordovaLib')
}      

将compile替換成implementation即可完美解決上述問題,至于為何官方要做這個改動,原因可以去官網看看,或者是看這篇部落格 安卓工程依賴方式