【问题标题】:Could not find com.android.tools.lint:lint-gradle Android Studio 3找不到 com.android.tools.lint:lint-gradle Android Studio 3
【发布时间】:2018-04-08 21:17:10
【问题描述】:

我已将 Android Studio 更新到 3.0,但现在收到了很多问题.. 现在停止了这样的问题:

Could not resolve all files for configuration ':applib:_lintClassPath'.
> Could not find com.android.tools.lint:lint-gradle:26.1.0-alpha01.
  Searched in the following locations:
      file:/Users/anwender/Library/Android/sdk/extras/m2repository/com/android/tools/lint/lint-gradle/26.1.0-alpha01/lint-gradle-26.1.0-alpha01.pom
      file:/Users/anwender/Library/Android/sdk/extras/m2repository/com/android/tools/lint/lint-gradle/26.1.0-alpha01/lint-gradle-26.1.0-alpha01.jar
      file:/Users/anwender/Library/Android/sdk/extras/google/m2repository/com/android/tools/lint/lint-gradle/26.1.0-alpha01/lint-gradle-26.1.0-alpha01.pom
      file:/Users/anwender/Library/Android/sdk/extras/google/m2repository/com/android/tools/lint/lint-gradle/26.1.0-alpha01/lint-gradle-26.1.0-alpha01.jar
      file:/Users/anwender/Library/Android/sdk/extras/android/m2repository/com/android/tools/lint/lint-gradle/26.1.0-alpha01/lint-gradle-26.1.0-alpha01.pom
      file:/Users/anwender/Library/Android/sdk/extras/android/m2repository/com/android/tools/lint/lint-gradle/26.1.0-alpha01/lint-gradle-26.1.0-alpha01.jar
      https://jcenter.bintray.com/com/android/tools/lint/lint-gradle/26.1.0-alpha01/lint-gradle-26.1.0-alpha01.pom
      https://jcenter.bintray.com/com/android/tools/lint/lint-gradle/26.1.0-alpha01/lint-gradle-26.1.0-alpha01.jar
      https://jitpack.io/com/android/tools/lint/lint-gradle/26.1.0-alpha01/lint-gradle-26.1.0-alpha01.pom
      https://jitpack.io/com/android/tools/lint/lint-gradle/26.1.0-alpha01/lint-gradle-26.1.0-alpha01.jar
      file:/Users/anwender/dev/project/dk_shopping_checklist/augmented/libs/lint-gradle-26.1.0-alpha01.jar
      file:/Users/anwender/dev/project/dk_shopping_checklist/augmented/libs/lint-gradle.jar
  Required by:
      project :applib

有人知道问题可能是什么吗?

Gradle.build:

apply plugin: 'com.android.library'

android {
    compileSdkVersion 26
    buildToolsVersion '26.0.2'
    defaultConfig {
        minSdkVersion 24
        targetSdkVersion 26
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

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

我正在使用最新的 gradle 版本:“gradle-4.2.1-all.zip”。

【问题讨论】:

  • 我将我的 gradle 类路径从 3.1.4 降级到 3.1.0 并且问题解决了

标签: android android-studio lint android-studio-3.0


【解决方案1】:

如果您在使用旧版 Android Studio 创建的项目上运行 lint,则可能会遇到此错误。

要解决此问题,对于您要运行 lint 的每个项目,请在顶级 build.gradle 文件中包含 Google 的 Maven 存储库,如下所示:

allprojects {
    repositories {
        // The order in which you list these repositories matter.
        google()
        jcenter()
    }
}

【讨论】:

  • 这条评论中提到的顺序确实为我解决了问题。
  • google() 存储库如果尚未添加,则需要添加。它不是为我添加的。
  • 通过同时运行 ./gradlew clean build --refresh-dependencies 来强制 Gradle 更新依赖项来结合此解决方案
  • 这对我来说还不够,实际上。我还添加了lintOptions { abortOnError false },以打破“递归”。解释是,Lint 由于缺少依赖项而失败,然后将中止,但是如果 lint 在遇到错误时不中止构建,则会下载缺少的依赖项。之后我删除了该条目,从那时起一切都很好。
  • 对我来说,最终解决问题的是allprojects 部分。最初我只是将相同的代码粘贴到 buildscript 部分。
【解决方案2】:

在我看来,您缺少 google() 存储库以获取依赖项。

这是您要查找的 pom 文件的链接:https://dl.google.com/dl/android/maven2/com/android/tools/testutils/26.1.0-alpha01/testutils-26.1.0-alpha01.pom

【讨论】:

  • 谢谢。解决了。还在当前 .gradle 中添加了“classpath”com.android.tools.build:gradle:$gradle_version”,而不是全局。
  • 值得一提的是,这应该包含在每个项目的 build.gradle 文件中,而不仅仅是之前的 gradle 版本中需要的根目录
  • 我收到此错误:项目:> com.android.tools.lint:lint-gradle:26.1.4 - 相同的文件是否适合我?
  • 对我来说,我添加了那行,但它不在第一行。 google() 必须是第一个 repo。这对我有用
【解决方案3】:

我的答案适用于所有已经在存储库中拥有google() 但仍然有相同错误的人

  1. 转到 android studio 设置并搜索“HTTP 代理”并确保您没有在那里设置错误的代理。 (如果不确定,请将其设置为自动检测代理设置)
  2. 关闭安卓工作室
  3. 转到 C:/Users/DESKTOP-NAME/ 并删除 .gradle 文件夹(是的,它是一个大文件夹,但不要害怕它只是保留旧 gradle 文件的所有版本现在需要)
  4. 转到您的项目文件夹并删除 .gradle 文件夹和 app/build 文件夹(在此之前进行备份以防万一)
  5. 重新启动您的代理服务器或 VPN 提供商(如果您使用的话)并确保您的互联网连接正常。
  6. 打开 Android Studio 并等待构建成功(这需要更长的时间)。

【讨论】:

    【解决方案4】:

    我通过添加https://mvnrepository.com/artifact/com.android.tools.lint/lint-gradle-api 解决了这个问题 回购build.gradle:

    repositories {
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
        jcenter()
        maven {
            url 'https://mvnrepository.com/artifact/com.android.tools.lint/lint-gradle-api'
        }
    }
    

    【讨论】:

      【解决方案5】:

      我已从全局 build.gradle 文件更改了我当前的 gradle 版本(3.3.23.2.1)。

      buildscript {
       repositories {
          google()
          jcenter()
          maven { url 'https://maven.google.com' }
       }
      
       dependencies {
          classpath 'com.android.tools.build:gradle:3.2.1'
       }
      }
      
      allprojects {
       repositories {
          google()
          jcenter()
          maven { url 'https://maven.google.com' }
       }
      }
      

      然后点击屏幕右上角的sync gradle按钮。

      【讨论】:

        【解决方案6】:

        另一种选择是

        ./gradlew -x:app:lintVitalRelease assemble
        

        引用 Gradle 文档:

        从执行中排除任务

        您可以使用 -x 或 --exclude-task 命令行选项并提供要排除的任务名称来排除任务的执行。

        参考:https://docs.gradle.org/current/userguide/command_line_interface.html#sec:excluding_tasks_from_the_command_line

        存档链接:http://archive.is/TsPPJ#sec:excluding_tasks_from_the_command_line

        【讨论】:

          【解决方案7】:

          只需评论谷歌并同步项目

             repositories {
              google()
              jcenter()
             }
          

          禁用离线模式并取消注释 google() 并再次同步...

          【讨论】:

            【解决方案8】:

            将 google() 添加到您的 gradle 如果您再次遇到此问题,请不要在您的 gradle 中添加 linter 禁用程序,这是一个访问错误问题,我在使用 sudo 命令执行一些命令后在 react-native 上遇到了该问题,只需重置您的代码访问权限,然后再次释放例如麦克

            sudo chmod -R 777 <project-root-folder-name>

            【讨论】:

              【解决方案9】:

              将以下代码添加到您的 build.gradle(模块)以跳过错误

              lintOptions {
                      abortOnError false
              }
              

              【讨论】:

                【解决方案10】:

                试试这个,

                File -> Settings -> Build,Execution,Deployment -> Gradle -> Android Studio -> Select -Enable embedded maven repository - Apply.

                【讨论】:

                  【解决方案11】:

                  我有这个问题, 通过以下几行解决

                  buildscript {
                  ext.kotlin_version = '1.3.60'
                  
                  repositories {
                      google()
                      jcenter()
                  }
                  
                  dependencies {
                      classpath 'com.android.tools.build:gradle:3.4.1' //3.4.2, 3.4.1^, 2.3.3^
                      classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
                      classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
                      classpath 'com.github.dcendents:android-maven-gradle-plugin:2.0'
                      classpath 'com.google.gms:google-services:4.3.3' 
                  }
                  }
                  //################################################################################
                  allprojects {
                      repositories
                              {
                                  google()
                                  jcenter()
                                  mavenCentral()
                                  maven { url "https://dl.google.com/dl/android/maven2/" }
                                  maven { url "http://jcenter.bintray.com/" }
                                  maven { url 'https://plugins.gradle.org/m2/'}
                                  maven { url "https://maven.google.com" }
                                  maven { url 'https://jitpack.io' }
                                  maven { url 'https://mvnrepository.com/artifact/com.android.tools.lint/lint-gradle-api' }
                  
                                  flatDir {
                                      dirs 'libs'
                                  }
                              }
                  }
                  //################################################################################
                  task clean(type: Delete) {
                      delete rootProject.buildDir
                  }
                  

                  【讨论】:

                    【解决方案12】:

                    我的情况是,我通过从 3.6.3 降级 gradle 版本解决了这个问题:

                    buildscript {
                    repositories {
                        jcenter()
                        google()
                    }
                    dependencies {
                        classpath 'com.android.tools.build:gradle:3.6.3'
                    
                        // NOTE: Do not place your application dependencies here; they belong
                        // in the individual module build.gradle files
                     }
                    }
                    

                    到 3.4.2:

                    buildscript {
                    repositories {
                        jcenter()
                        google()
                    }
                    dependencies {
                        classpath 'com.android.tools.build:gradle:3.4.2'
                    
                        // NOTE: Do not place your application dependencies here; they belong
                        // in the individual module build.gradle files
                    }
                    }
                    

                    【讨论】:

                      【解决方案13】:

                      在应用上述解决方案时不要注释掉 google():

                      repositories {
                          maven {
                              url 'https://maven.google.com/'
                              name 'Google'
                          }
                          jcenter()
                          google()
                          maven {
                              url 'https://mvnrepository.com/artifact/com.android.tools.lint/lint-gradle-api'
                          }
                      }
                      

                      【讨论】:

                        【解决方案14】:

                        要解决依赖问题,使用它总是有帮助的

                        ./gradlew clean build --refresh-dependencies
                        

                        就我而言,我收到了下一条消息:

                        - Variant 'runtimeElements' capability com.android.tools.lint:lint-api:30.0.2 declares a runtime of a library, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'jvm':
                                  - Incompatible because this component declares a component compatible with Java 8 and the consumer needed a component compatible with Java 7
                                  - Other compatible attribute:
                                      - Doesn't say anything about its target Java environment (preferred optimized for standard JVMs)
                        

                        所以,我对这种依赖的问题是我使用的是:

                        java {
                            sourceCompatibility = JavaVersion.VERSION_1_7
                            targetCompatibility = JavaVersion.VERSION_1_7
                        }
                        

                        而这个特殊的依赖需要 JavaVersion.VERSION_1_8 代替。当我将其替换为

                        java {
                            sourceCompatibility = JavaVersion.VERSION_1_8
                            targetCompatibility = JavaVersion.VERSION_1_8
                        }
                        

                        它开始工作了。

                        【讨论】:

                          猜你喜欢
                          • 2019-05-04
                          • 2018-10-09
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 2021-07-05
                          • 2019-03-30
                          • 1970-01-01
                          • 2019-03-29
                          相关资源
                          最近更新 更多