找不到 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.2 到 3.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的主要内容,如果未能解决你的问题,请参考以下文章