AS版本報錯的處理

Failed to resolve:com.android.support:appcompat-v7:報錯處理

2017-10-29 14:44:22 低-調 閱讀數 136562更多

分類專欄: Android studio 常見報錯處理

版權聲明:本文爲博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。

本文鏈接:https://blog.csdn.net/mhl18820672087/article/details/78385361

 

 

報錯:

Error:(26, 13) Failed to resolve: com.android.support:appcompat-v7:29.+

Install Repository and sync project show in file Show in Project Structure dialog

 

 

https://img-blog.csdn.net/20171029144408453?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWhsMTg4MjA2NzIwODc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

         你在使用android studio時是否也出現過上圖的報錯,你還在爲它的出現煩惱?沒問題,看了本文章,我確保你會順利解決掉它並會很驕傲的認爲這只是一個小case級別的報錯。我們進入正題吧,先來說下什麼時候會出現這種錯誤:

1.當你在用別的電腦上的android studio編寫一個項目時,然後copy下來,又在自己電腦上的android studio 上導入該項目時會報錯(兩臺電腦上安裝的android studio版本不一樣)

2.自己的android studio SDK平臺工具的版本太低,然後在不瞭解項目構建文件(build.gradle文件)的前提下,點開了SDK Manger更新了項目構建工具(SDK Build-Tools)的版本

看完上面兩種情況,其實都可以發現它們的共同點,那就是版本問題,所以上述的兩種情況就用同一種解決辦法就可以了,多簡單

具體解決方案:

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

https://img-blog.csdn.net/20171029151048750?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWhsMTg4MjA2NzIwODc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

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

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

https://img-blog.csdn.net/20171029151623643?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWhsMTg4MjA2NzIwODc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

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

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

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

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

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

上面我們查到我們的sdk工具版本是26,這裏的遠程依賴包的版本是27,那麼我們只需要將把版本減低到和sdk工具版本相同就ok啦!

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

問題解決,因爲當你創建一個新的項目時,有gradle去幫你完成構建項目工作,那它自然是按你的最高sdk構建工具版本去構建項目,所以就會出現這樣的問題,到這裏你可能會覺得,臥槽,就只有最後那一段是有用的,還這麼簡單,其實前面給出的鋪墊看完加自己的理解,會收穫更多!如有錯,請多指教哈!

這裏重新補充一下:改完了!一定要點擊 SYNC進行同步!SYNC !SYNC!重要事情那就說3遍,

或者點擊 圖下所示   Try Againhttps://img-blog.csdn.net/20171111143504730?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWhsMTg4MjA2NzIwODc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

                      

 

 

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