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://i-blog.csdnimg.cn/blog_migrate/b35c8b608255a707055b0c0076f998de.png

         你在使用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://i-blog.csdnimg.cn/blog_migrate/7f7d4d7f4e44f36aca8db8436c381e59.png

这里我的 sdk 工具版本就是26.1.1了

2.清楚了自己的sdk 工具版本后,接下来我们继续查看版本,接下来是看sdk 构建工具(sdk Build-Tools)的版本,还是在sdk manager上操作,这次选中 Android SDK后,再在右边选中SDK Tools(只看打勾选项就行)

https://i-blog.csdnimg.cn/blog_migrate/f612cca545db393887e389096ddfcbb7.png

看了这张图,似乎就能明白些什么了对吧,你会发现,我这里是的 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://i-blog.csdnimg.cn/blog_migrate/d9aaa75f50f84d5ce7292cc65d45c615.png

                      

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值