【问题标题】:Failed to resolve: com.android.support:appcompat-v7:26.0.0无法解决:com.android.support:appcompat-v7:26.0.0
【发布时间】:2018-01-03 13:11:48
【问题描述】:

我在 Android Studio 中遇到了这个问题。

Error:(22, 13) Failed to resolve: com.android.support:appcompat-v7:26.0.0
<a href="install.m2.repo">Install Repository and sync project</a><br><a href="openFile:C:/Users/username/AndroidStudioProjects/ElectroSave/app/build.gradle">Show in File</a><br><a href="open.dependency.in.project.structure">Show in Project Structure dialog</a>

这是我的 Gradle 代码:

apply plugin: 'com.android.application'

android {
       compileSdkVersion 26
      buildToolsVersion "25.0.2"
    defaultConfig {
    applicationId "com.example.noelly.myapplication"
    minSdkVersion 19
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
}
   buildTypes {
      release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 
'proguard-rules.pro'




 dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile 'com.android.support:appcompat-v7:26.0.0'
}

【问题讨论】:

  • 我认为 android studio 更新(稳定版)存在一些问题,但适用于 android studio 3 canary 版本。要修复只需降级您的支持库 repo compile 'com.android.support:cardview- v7:25.3.1'
  • 嗯,你Install Repository and sync project了吗?
  • @AndroidGeek 最新版本的支持库在 Google Maven repo,需要设置 developer.android.com/topic/libraries/support-library/…

标签: android gradle android-gradle-plugin


【解决方案1】:

要使用从版本 26.0.0 开始的支持库,您需要将 Google 的 Maven 存储库添加到项目的 build.gradle 文件中,如下所述:https://developer.android.com/topic/libraries/support-library/setup.html

allprojects {
        repositories {
            jcenter()
            maven {
                url "https://maven.google.com"
            }
        }
    }

对于 Android Studio 3.0.0 及更高版本:

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

【讨论】:

  • 只要确保你必须在 buildscript 中的 allprojects 下添加 google() ,它就会被添加。这就是我的情况,我设法从这个答案中解决了它。
【解决方案2】:

请注意,从revision 25.4.0 开始,我们需要添加 google maven 才能使用支持库。如release note says

重要提示:支持库现在可通过 Google 的 Maven 存储库。您无需下载支持存储库 从 SDK 管理器。有关详细信息,请参阅支持库设置。

Support Library Setup了解更多信息。

Play servicesFirebase 自版本 11.2.0 以来的依赖项也需要 google maven。阅读Some Updates to Apps Using Google Play servicesGoogle APIs Android August 2017 - version 11.2.0 Release note

因此,您需要将 google maven 添加到您的 root build.gradle,如下所示:

allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}

对于 Gradle 构建工具插件版本 3.0.0,您可以使用 google() 存储库(更多信息请参见 Migrate to Android Plugin for Gradle 3.0.0):

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

更新:

来自Google's Maven repository

以下 Android 库的最新版本可从 Google 的 Maven 存储库获得:

要将它们添加到您的构建中,您需要首先将 Google 的 Maven 存储库包含在您的 顶级/根 build.gradle 文件中:

allprojects {
    repositories {
        google()

        // If you're using a version of Gradle lower than 4.1, you must instead use:
        // maven {
        //     url 'https://maven.google.com'
        // }
        // An alternative URL is 'https://dl.google.com/dl/android/maven2/'
    }
}

然后将所需的库添加到模块的依赖项块中。例如,appcompat 库如下所示:

dependencies {
    compile 'com.android.support:appcompat-v7:26.1.0'
}

但是,如果您尝试使用上述库的旧版本并且您的依赖项失败,则它在 Maven 存储库中不可用,您必须改为从离线存储库获取该库。

【讨论】:

  • google() 在 Android Plugin for Gradle 的 2.3.3 中不存在。它根本不是来自 Android Plugin for Gradle。它来自 Gradle 本身。它存在于 Gradle 4.1 中,但不存在于 Gradle 3.3 中——我不确定它是在哪里添加的。
  • 这是完整的答案,以及旧 gradle 版本中缺少 google() 的原因
【解决方案3】:
  1. build.gradle(Project:projectname)

    中添加这个
    allprojects {
      repositories {
        jcenter()
        maven { url "https://maven.google.com" }
      }
    }
    
  2. build.gradle(Module:app)

    中添加这个
    dependencies {
      compile 'com.android.support:appcompat-v7:26.1.0'
    }
    

【讨论】:

    【解决方案4】:

    如果您已经使用 jitpack.io 或任何存储库。您可以像这样添加谷歌存储库:

    allprojects {
        repositories {
            maven { url "https://jitpack.io" }
            maven { url "https://maven.google.com" }
        }
    }
    

    【讨论】:

      【解决方案5】:

      你忘了在模块区添加add alpha1

      compile 'com.android.support:appcompat-v7:26.0.0-alpha1'
      

      在项目区域使用 maven 存储库就可以了

      allprojects {
          repositories {
              jcenter()
              maven {
                  url "https://maven.google.com"
              }
          }
      }
      

      【讨论】:

        【解决方案6】:

        改变

        compile 'com.android.support:appcompat-v7:26.0'
        

        `compile 'com.android.support:appcompat-v7:26.+'`
        

        对我来说很好。

        【讨论】:

          【解决方案7】:

          如果您使用的是 Android Studio 3.0,请添加 Google maven 存储库,如下所示:

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

          【讨论】:

            【解决方案8】:

            我遇到了同样的问题,但我将 26.0.0-beta1 依赖项切换到 26.1.0 并且它现在可以工作了。

            【讨论】:

            • 我建议包含修复它所需的实际文本,而不是屏幕截图。这样我们就可以确保搜索引擎能够识别它,而且它更干净。
            【解决方案9】:

            通过以下步骤解决了我的问题:

            适用于 gradle 3.0.0 及以上版本

            1. 在 jcenter() 下添加 google()
            2. 将 compileSdkVersion 更改为 26,将 buildToolsVersion 更改为 26.0.2
            3. 在 gradle_wrapper.properties 文件中更改为 gradle-4.2.1-all.zip

            【讨论】:

              【解决方案10】:

              在主gradle中添加以下内容已经解决了我的问题:

              allprojects {
                  repositories {
                      jcenter()
                      maven {
                          url "https://maven.google.com"
                      }
                      flatDir {
                          dirs 'libs'
                      }
                  }
              

              【讨论】:

                【解决方案11】:

                转到 SDK 路径:SDK\extras\android\m2repository\com\android\support\appcompat-v7 查看正确的依赖名称,如果您的依赖是 alpha 版本,则更改名称:

                dependencies {
                  compile fileTree(dir: 'libs', include: ['*.jar'])
                  compile 'com.android.support:appcompat-v7:26.0.0'
                }
                

                到:

                dependencies {
                  compile fileTree(dir: 'libs', include: ['*.jar'])
                  compile 'com.android.support:appcompat-v7:26.0.0-alpha1'
                }
                

                【讨论】:

                  【解决方案12】:

                  File -> Project Structure -> Modules (app) -> Open Dependencies Tab -> Remove all 然后使用+ 从建议的列表中添加。

                  【讨论】:

                    【解决方案13】:

                    你能控制互联网访问吗?如果你没有上网,你的ide没有下载包,那么你遇到了这个问题。

                    【讨论】:

                      【解决方案14】:

                      1 - 在 build.gradle 中将我的 supportLibVersion 更改为 26.0.0

                      2 - 在 app/build.gradle 中使用:

                      实现“com.android.support:appcompat v7:${rootProject.ext.supportLibVersion}”

                      3 - cd 安卓

                      4 - ./gradlew clean

                      5 - ./gradlew assembleRelease

                      【讨论】:

                        猜你喜欢
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 2017-12-19
                        • 2017-01-04
                        • 2017-01-23
                        • 2017-06-13
                        • 2020-10-06
                        相关资源
                        最近更新 更多