天天看點

EasyDemo*android studio報錯Failed to resolve:com.android.support:appcompat-v7 實用解決辦法

具體解決方案:

1.既然是版本問題,那就的先去了解自己的電腦安裝的SDK工具版本,點開SDK Manager圖示,然後選中Updates就可以看到了

EasyDemo*android studio報錯Failed to resolve:com.android.support:appcompat-v7 實用解決辦法

這裡我的 sdk 工具版本就是26.1.1了

2.清楚了自己的sdk 工具版本後,接下來我們繼續檢視版本,接下來是看sdk 建構工具(sdk Build-Tools)的版本,還是在sdk manager上操作,這次選中 Android SDK後,再在右邊選中SDK Tools(隻看打勾選項就行)

EasyDemo*android studio報錯Failed to resolve:com.android.support:appcompat-v7 實用解決辦法

看了這張圖,似乎就能明白些什麼了對吧,你會發現,我這裡是的 Android SDK Build-Tools (就是我前面一直提到的sdk 建構工具)版本是27,而我的SDK Tools才是26,

很明顯版本就低了,但這些并不會直接造成項目報錯,看完這些資料,我們接下來再看一張截圖

3.點開項目建構檔案Gradle Scripts,再繼續點選build.gradle(Module:app)ps:有兩個名字相同的,選第二個,看下面代碼的注釋行就可以了

[java]  view plain  copy

  1. apply plugin: 'com.android.application'  
  2. android {  
  3.     compileSdkVersion 27                // 使用版本27的SDK編譯  
  4.     buildToolsVersion "27.0.0"          // 建構工具版本号為27.0.0  對應上圖的SDK Build-Tools27  
  5.     defaultConfig {  
  6.         applicationId "com.example.haha.myapplication"  
  7.         minSdkVersion 19  
  8.         targetSdkVersion 27               
  9.         versionCode 1  
  10.         versionName "1.0"  
  11.         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"  
  12.     }  
  13.     buildTypes {  
  14.         release {  
  15.             minifyEnabled false  
  16.             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'  
  17.         }  
  18.     }  
  19. }  
  20. dependencies {  
  21.     compile fileTree(dir: 'libs', include: ['*.jar'])  
  22.     androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {  
  23.         exclude group: 'com.android.support', module: 'support-annotations'  
  24.     })  
  25.     compile 'com.android.support:appcompat-v7:27.+'       

[java]  view plain  copy

  1.  //上面一行是遠端依賴聲明,這裡我們着重來看appcompat-v7:27.+  
  2.     testCompile 'junit:junit:4.12'  
  3. }  

我們來分析下appcompat-v7:27.+

上面我們查到我們的sdk工具版本是26,這裡的遠端依賴包的版本是27,那麼我們隻需要将把版本減低到和sdk工具版本相同就ok啦! [java]  view plain  copy

  1. apply plugin: 'com.android.application'  
  2. android {  
  3.     compileSdkVersion 26         //修改  
  4.     buildToolsVersion "27.0.0"  
  5.     defaultConfig {  
  6.         applicationId "com.example.haha.myapplication"  
  7.         minSdkVersion 19  
  8.         targetSdkVersion 26        //修改  
  9.         versionCode 1  
  10.         versionName "1.0"  
  11.         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"  
  12.     }  
  13.     buildTypes {  
  14.         release {  
  15.             minifyEnabled false  
  16.             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'  
  17.         }  
  18.     }  
  19. }  
  20. dependencies {  
  21.     compile fileTree(dir: 'libs', include: ['*.jar'])  
  22.     androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {  
  23.         exclude group: 'com.android.support', module: 'support-annotations'  
  24.     })  
  25.     compile 'com.android.support:appcompat-v7:26+'  //修改  
  26.     testCompile 'junit:junit:4.12'  
  27. }  

問題解決,因為當你建立一個新的項目時,有gradle去幫你完成建構項目工作,那它自然是按你的最高sdk建構工具版本去建構項目,是以就會出現這樣的問題,到這裡你可能會覺得,卧槽,就隻有最後那一段是有用的,還這麼簡單,其實前面給出的鋪墊看完加自己的了解,會收獲更多!如有錯,請多指教哈! 這裡重新補充一下:改完了!一定要點選 SYNC進行同步!SYNC !SYNC!重要事情那就說3遍, 或者點選 圖下所示 的  Try Again

EasyDemo*android studio報錯Failed to resolve:com.android.support:appcompat-v7 實用解決辦法

繼續閱讀