【问题标题】:Could not resolve com.android.support:appcompat-v7:26.1.0 in Android Studio new project无法在 Android Studio 新项目中解析 com.android.support:appcompat-v7:26.1.0
【发布时间】:2018-05-07 00:09:28
【问题描述】:

我知道这些问题:

Failed to resolve: com.android.support:cardview-v7:26.0.0 android

Could not resolve com.android.support:appcompat-v7:26.1.0 [duplicate]

我已经阅读了这些文档:

Migrate to Android Plugin for Gradle 3.0.0

Migrating to Android 8.0

所以我发布了这个问题,相信它不是重复的。

我已经安装了 Android Studio 3.0.1。我之前没有任何以前的版本,我开始了一个新项目。

Gradle 文件中的每个设置都是由 Android Studio 自己设置的,我已经全部检查过了。

这些是文件内容:

build.gradle(模块:app)

    apply plugin: 'com.android.application'

    android {
        compileSdkVersion 26
        defaultConfig {
            applicationId "com.example.administrator.as301test"
            minSdkVersion 16
            targetSdkVersion 26
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }

    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.android.support:appcompat-v7:26.1.0'
        implementation 'com.android.support.constraint:constraint-layout:1.0.2'
        implementation 'com.android.support:design:26.1.0'
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.android.support.test:runner:1.0.1'
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
    }

顶级 build.gradle

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'


        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

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

task clean(type: Delete) {
    delete rootProject.buildDir
}

gradle-wrapper.properties

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip

我在存储库中使用google(),因为here 明确表示:

  // If you're using a version of Gradle lower than 4.1, you must instead use:
     // maven {
     //     url 'https://maven.google.com'
     // }

我的 gradle 版本是 4.1,所以我不需要上面的代码。

但正如其他人一直在询问的那样,我仍然收到此错误:

错误:无法解析 ':app@debug/compileClasspath' 的依赖关系: 无法解析 com.android.support:appcompat-v7:26.1.0。

当我在AS 3.0.1 中创建一个新项目并且已经设置了所有必要的设置时,为什么会出现此错误?

更新

@Rohit 的回答以某种方式解决了这个问题,但对于其他一些依赖项,我仍然遇到同样的错误。

无法解析 com.android.support.test:runner:1.0.1

无法解决 com.android.support.test.espresso:espresso-core:3.0.1

无法解析 junit:junit:4.12

【问题讨论】:

  • 测试用例改变你的buildToolsVersion "26"
  • 而不是 implementation 关键字也尝试使用 compile
  • @Prem 与buildToolsVersion "25"的错误相同
  • @AlexJolig 更改为 26
  • 取消选中文件->设置->构建、执行、部署->Gradle中的Offline work选项

标签: android android-gradle-plugin android-studio-3.0


【解决方案1】:

最后我通过像这样修改build.gradle 解决了这个问题:

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.2"

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 26
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'com.android.support:design:26.1.0'
}

我已删除这些行,因为它们会产生更多错误:

testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'

在将现有项目从 2.3 迁移到 3.0.1 以及像这样修改项目 gradle 文件时,我也遇到了同样的问题,我想出了一个可行的解决方案:

build.gradle(模块应用)

android {
    compileSdkVersion 27
    buildToolsVersion "27.0.1"

    defaultConfig {
        applicationId "com.mobaleghan.tablighcalendar"
        minSdkVersion 16
        targetSdkVersion 27
    }

dependencies {
    implementation 'com.android.support:appcompat-v7:25.1.0'
    implementation 'com.android.support:design:25.1.0'
    implementation 'com.android.support:preference-v7:25.1.0'
    implementation 'com.android.support:recyclerview-v7:25.1.0'
    implementation 'com.android.support:support-annotations:25.1.0'
    implementation 'com.android.support:support-v4:25.1.0'
    implementation 'com.android.support:cardview-v7:25.1.0'
    implementation 'com.google.android.apps.dashclock:dashclock-api:2.0.0'
}

顶级 build.gradle

buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
    }
}

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

【讨论】:

  • 您的build.gradle 文件中的constraintlayout 之间的空间是故意的吗?
  • @RobRose 哎呀!那一定是个错误。修好了!
  • BuildToolsVersion 26 是必要的吗?
  • @lololololol 您必须包含BuildToolsVersion。版本取决于哪一个适合您
  • 在存储库容器上找不到参数 [] 的方法 google()。我收到此错误。
【解决方案2】:

goto Android->sdk->build-tools 目录确保您拥有所需的所有版本。如果没有,请下载它们。在那之后 转到 File-->Settigs-->Build,Execution,Depoyment-->Gradle

选择使用默认的 gradle wapper(推荐)

并取消勾选离线工作

一旦您可以更改设置,gradle 构建就会成功完成

如果它不能简单地解决问题

检查此链接以找到适当的支持库修订版

https://developer.android.com/topic/libraries/support-library/revisions

确保编译的sdk和目标版本与支持库版本相同。 建议在第一次构建时至少保持网络连接(记得在这样做之后重新构建您的项目)

【讨论】:

    【解决方案3】:

    试试这个:

    android {
        compileSdkVersion 26
        buildToolsVersion "26.0.1"
    defaultConfig {
    
            targetSdkVersion 26
        }
    
    }
    
    
    compile 'com.android.support:appcompat-v7:25.1.0'
    

    它对我有用

    【讨论】:

    • 我不确定,但我想这对一些错误有效。对Could not resolve com.android.support.test:runner:1.0.1有什么建议吗?
    • 这是有道理的,因为根据developer.android.com/studio/releases/build-tools.html,26.1.0 尚未发布。这似乎是 AS 3.0.1 中的一个错误
    • @AlexJolig , com.android.support.test:runner:1.0.0 或其他版本
    【解决方案4】:

    我尝试了以上所有方法,但没有任何效果。

    然后我按照 Gradle Settings > Build Execution, Deployment > Gradle > Android Studio 并选中“禁用嵌入式 Maven 存储库”。

    检查了这个,问题就解决了。

    【讨论】:

    • 哇,这也为我做了。有谁知道为什么会这样?现在构建似乎需要更长的时间......我也在使用 Kotlin,以防万一帮助其他人。
    【解决方案5】:

    去 文件\设置\Gradle。取消选择“离线工作”框。现在您可以连接并 下载任何必要或缺少的依赖项

    【讨论】:

      【解决方案6】:

      您的 android studio 可能忘记输入: 构建工具版本“26.0.0” 你需要'buildTools'来开发相关的设计和java文件。如果 Android->sdk->build-tools 目录下没有安装任何 buildTools 则先下载。

      【讨论】:

      • 在 gradle(Module) 文件中 compileSdkVersion 后添加 buildToolsVersion "26.0.0"。
      • compileSdkVersion 26 下添加buildToolsVersion "26.0.2",没有帮助。我仍然遇到同样的错误。
      • 然后检查您的 Android->sdk->build-tools 目录,其中包含您已安装的构建工具版本。
      • 我安装了27.0.126.0.225.0.2 版本
      • 好的。在 implementation 的地方添加 compile,在 testImplementation 的地方添加 testCompile,在 androidTestImplementation 的地方添加 androidTestCompile。
      【解决方案7】:

      从另一个网站得到了这个答案,不想为此而受到任何赞扬,但这个解决方案就像黄油一样工作。

      转到文件\设置\Gradle。取消选择“离线工作”框。现在您可以连接并下载任何必要或缺少的依赖项。

      【讨论】:

      • 已经在这里发布的stackoverflow.com/a/48848256/101361 的附加值是什么?您的答案部分是它的逐字副本
      • 好吧,我没看到那个,我从另一个站点得到这个,这就是为什么我说我从另一个站点得到这个答案并且没有为此获得任何功劳。另外,如果有人访问此链接而不是那个链接,那么他将在这里看到他的解决方案。他不必再搜索或在任何地方搜索。
      【解决方案8】:

      这对我有用。在 android\app\build.gradle 文件中您需要指定以下内容

      compileSdkVersion 26
      buildToolsVersion "26.0.1"
      

      然后找到这个

      compile "com.android.support:appcompat-v7"
      

      并确保它说

      compile "com.android.support:appcompat-v7:26.0.1"
      

      【讨论】:

      • Excelente amigo muchas gracias me sirvio
      【解决方案9】:

      好吧,这是一个错误的方法,但如果你这样使用它:

      compile "com.android.support:appcompat-v7:+"
      

      Android Studio 将使用它拥有的最新版本。

      在我的情况下是 26.0.0alpha-1。

      您可以在外部库中看到使用的版本(在项目视图中)。

      我尝试了一切,但无法使用高于 26.0.0alpha-1 的任何内容,看来我的 IP 已被 Google 阻止。任何想法?评论

      【讨论】:

        【解决方案10】:

        在我的情况下,当我尝试使用 gridView 时会发生此错误

        我通过从 build.grade(Module) 文件中删除这一行来解决它

        implementation 'com.android.support:gridlayout-v7:28.0.0-alpha3'
        

        【讨论】:

          【解决方案11】:

          这个问题好像如下。

          How to resolve repository certificate error in Gradle build

          以下步骤可能会有所帮助:

          1.将证书添加到密钥库-

          从 Android Studio 的 cacerts 中将一些认证导入 Android Studio JDK cacerts。

          Android Studio 的 cacerts 可能位于

          {your-home-directory}/.AndroidStudio3.0/system/tasks/cacerts
          

          我使用了以下导入命令。

          $ keytool -importkeystore -v -srckeystore {src cacerts} -destkeystore {dest cacerts}
          

          2。将修改后的 cacert 路径添加到 gradle.properties-

          systemProp.javax.net.ssl.trustStore={your-android-studio-directory}\\jre\\jre\\lib\\security\\cacerts
          systemProp.javax.net.ssl.trustStorePassword=changeit
          

          参考:https://www.cresco.co.jp/blog/entry/2014//

          【讨论】:

            【解决方案12】:

            尝试清除 android studio 中的缓存 文件-> 无效缓存-> 无效 无效后 构建-> 清理项目 然后你就可以构建项目了

            【讨论】:

              【解决方案13】:

              这对我有用

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

              将 26.0.0 更改为 26.0.1

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

              【讨论】:

                【解决方案14】:

                这对我有用。在 app/build.gradle 中添加configurations.all

                android {
                    configurations.all {
                        resolutionStrategy.force 'com.android.support:support-annotations:27.1.1'
                    }
                }
                

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 2018-04-17
                  • 2018-04-10
                  • 1970-01-01
                  • 2018-05-11
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多