找不到 com.android.tools.lint:lint-gradle Android Studio 3

Posted

技术标签:

【中文标题】找不到 com.android.tools.lint:lint-gradle Android Studio 3【英文标题】:Could not find 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 并且问题解决了 【参考方案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() 但仍然有相同错误的人

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

它开始工作了。

【讨论】:

以上是关于找不到 com.android.tools.lint:lint-gradle Android Studio 3的主要内容,如果未能解决你的问题,请参考以下文章

java 枚举 找不到符号

bat系统找不到指定文件怎么办?

java package找不到符号

SpringBoot报找不到 dao 问题

ubuntu20.04找不到start命令

找不到名为“my”的模块。找不到名为“mycontroller”的控制器