1. Failed to resolve:'com.android.support:appcompat-v7:28.+'compileSdkVersion、buildToolsVersion、targetSdkVersion 、Failed to resolve:'com.android.support:appco_第1张图片

    android {    compileSdkVersion 28    buildToolsVersion "28.0.3"    defaultConfig {        。。。        minSdkVersion 19        targetSdkVersion 28       。。。}    。。。}dependencies {    。。。compile 'com.android.support:appcompat-v7:28.+'    。。。}

    在新建android studio项目时,经常会出现如上报错,这是因为本地com.android.support:appcompat-v7包不存在28+版本,位置如下,我本地最大是26

    D:\Android\sdk\extras\android\m2repository\com\android\support\appcompat-v7

  2. 但是既然本地没有为什么默认build.gradle中会自动配置呢?

    在androidstudio安装目录下查看build.gradle的默认配置如下:

默认配置build.gradle位置  或android-sdk\tools\templates\projects

C:android-studio\plugins\android\lib\templates\gradle-projects\NewAndroidModule\root\build.gradle.ftl

android {

    <#if buildApiString?matches("^\\d+$")>${buildApiString}<#else>'${buildApiString}'

    buildToolsVersion "${buildToolsVersion}"  //对应最大sdk构建工具版本  sdkbuild-tools

    defaultConfig {

    <#if !(isLibraryProject!false) && !(isInstantApp!false)>

    applicationId "${packageName}"

    

        minSdkVersion <#if minApi?matches("^\\d+$")>${minApi}<#else>'${minApi}'

        targetSdkVersion <#if targetApiString?matches("^\\d+$")>${targetApiString}<#else>'${targetApiString}'

       ...

...}

发现对应的默认compileSdkVersion targetSdkVersion :buildApiString,其对应的sdk中的位置其实是

D:\Android\sdk\platforms 即sdk platforms最大版本

Support appcompat包配置在C:android-studio\plugins\android\lib\templates\gradle-projects\NewAndroidModule\root\build.gradle.ftl

  buildApi}.+" />

对应buildApi也是sdk platforms最大版本 所以会新建项目时自动生成的就是28+,

3、解决办法

(1)可以在如上位置修改默认值

(2)降低support:appcompat版本为本地存在版本26,但是

This support library should not use a different version (26) than the compile(28)

supportLibrary必须和compileSdkVersion相同,所以compileSdkVersion也要改为26

This support library should not use a lower version (26) than the targetSdkVersion (28) 

targetSdkVersion的值是指创建的android项目使用哪个版本的api

compileSdkVersion:使用哪个版本的sdk进行编译

targetSdkVersion不能大于compileSdkVersion

所以targetSdkVersion改为<=26

(3)

在build.gradle(Project)中添加仓库

maven{

      url "https://maven.google.com"

  } 或添加  google() 如下:

allprojects {    repositories {        jcenter()        google()    }}

添加后可能会报错

The SDK platform-tools version (27.0.1) is too old to check APIs compiled with API 28

解决方式,更新sdktools

compileSdkVersion、buildToolsVersion、targetSdkVersion 、Failed to resolve:'com.android.support:appco_第2张图片

4、注释:

(1)查看安装的sdk工具版本 这里是24.4.1 可以更新 更新后26.1.1

compileSdkVersion、buildToolsVersion、targetSdkVersion 、Failed to resolve:'com.android.support:appco_第3张图片

compileSdkVersion、buildToolsVersion、targetSdkVersion 、Failed to resolve:'com.android.support:appco_第4张图片

(2)

查看sdk(构建工具版本)sdkBuild-Tools版本,

D:\Android\sdk\build-tools

compileSdkVersion、buildToolsVersion、targetSdkVersion 、Failed to resolve:'com.android.support:appco_第5张图片

因为当你创建一个新的项目时,gradle去帮你完成构建项目工作,那它自然是按你的最高sdk构建工具版本去构建项目buildToolsVersion "28.0.3"

(3)

buildToolsVersion的版本需要>=CompileSdkVersion; 高版本的build-tools 可以构建低版本编译的android程序;

 

 

 

更多相关文章

  1. Android 手势滑动,多点触摸放大缩小图片
  2. android 图片压缩的方法
  3. Android API Level对应Android版本一览表 到安卓10
  4. [Android实例] Android网络收音机项目(内含源码)
  5. 【边做项目边学Android】手机安全卫士05_1:程序主界面
  6. android SDK与ADT版本更新问题
  7. Android各版本及API对应关系,持续更新!
  8. Android 所有版本区别总结

随机推荐

  1. Ubuntu 16.04 64bit 编译 Android(安卓)4
  2. 【Android(安卓)Developers Training】 2
  3. Android滑动回弹效果
  4. Flutter知识点:数据存储之SharedPreferen
  5. android内存泄露 mat
  6. Application Resources
  7. 【原】android本地推送
  8. Android(安卓)-- Messenger与Service
  9. Android内核编译图文教程(HTC G10 Ubuntu
  10. ScrollView 使用fillViewport铺满全屏