![](/img/trans.png)
[英]Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve project
[英]Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve
新安装的Android Studio 3.1.3在创建新项目并首次编译时出现奇怪的依赖项错误。
一个类似的问题并没有帮助解决问题。
Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve com.android.support:appcompat-v7:28.0.0-alpha3.
Open File
Show Details
Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve com.android.support.constraint:constraint-layout:1.1.2.
Open File
Show Details
Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath': Could not resolve com.android.support:appcompat-v7:28.0.0-alpha3.
Open File
Show Details
Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath': Could not resolve com.android.support.constraint:constraint-layout:1.1.2.
Open File
Show Details
Unable to resolve dependency for ':app@debugUnitTest/compileClasspath': Could not resolve com.android.support:appcompat-v7:28.0.0-alpha3.
Open File
Show Details
Unable to resolve dependency for ':app@debugUnitTest/compileClasspath': Could not resolve com.android.support.constraint:constraint-layout:1.1.2.
Open File
Show Details
Unable to resolve dependency for ':app@release/compileClasspath': Could not resolve com.android.support:appcompat-v7:28.0.0-alpha3.
Open File
Show Details
Unable to resolve dependency for ':app@release/compileClasspath': Could not resolve com.android.support.constraint:constraint-layout:1.1.2.
Open File
Show Details
Unable to resolve dependency for ':app@releaseUnitTest/compileClasspath': Could not resolve com.android.support:appcompat-v7:28.0.0-alpha3.
Open File
Show Details
Unable to resolve dependency for ':app@releaseUnitTest/compileClasspath': Could not resolve com.android.support.constraint:constraint-layout:1.1.2.
Open File
Show Details
这个问题在我身上发生过几次,强制使用 https 或 http也没有解决
您可能正在导入Application而不是Module 。 好吧,您也可以在模块的 gradle 中更改它。
改变
apply plugin: 'com.android.application'
到
apply plugin: 'com.android.library'
您还需要从 gradle 中删除applicationId 。
我刚刚想出了如何删除此 gradle 错误,请按照以下步骤操作。
让 gradle 不受任何干扰地构建。
谢谢你! 问候,希望这会有所帮助。
我认为问题来自以下方面:与您的互联网连接不可用,因此 Android Studio 要求您启用“离线工作”,而您刚刚启用它
要解决此问题:
为什么取消选中离线工作可以解决问题,因为在 Gradle 中有时需要更新一些依赖项(包含“+”的依赖项),因此需要互联网连接。
.gradle
和.idea
目录。尝试添加 Google Maven 存储库并同步项目
buildscript { repositories { jcenter() google() maven { url "https://maven.google.com" } } dependencies { classpath 'com.android.tools.build:gradle:3.1.3' } } allprojects { repositories { google() jcenter() maven { url "https://maven.google.com" } } }
如果您使用的是 Android Gradle 插件 3.1.3,您应该确保您的 gradle 包装器版本是 4.4。 在你的项目根目录下,找到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.4-all.zip
我在启用离线模式时遇到了这个问题。 我禁用了离线模式并同步。
File > Settings
打开首选项。Build, Execution, Deployment > Gradle
。Offline work
。我知道这很晚了,但我认为这可能会帮助某人解决他的问题。
在我的情况下,这是因为 compileSdkVersion 和 targetSdkVersion 设置为 29 而当我检查我的 SDK 管理器时,它显示该软件包已部分安装。 而 SDK 版本 28 已完全安装。 我将 compileSdkVersion 和 targetSdkVersion 以及支持库更改为 28。
之前: compileSdkVersion 29 targetSdkVersion 29 implementation 'com.android.support:appcompat-v7:29.+' implementation 'com.android.support:design:29.+'
修改后: compileSdkVersion 28 targetSdkVersion 28 implementation 'com.android.support:appcompat-v7:28.+' implementation 'com.android.support:design:28.+'
应用这些更改后,它就像一个魅力。
@shizhen 的回答对我的情况不起作用。
花了一天多的时间,终于得到了一个可行的解决方案。 我在办公室环境中,所以通过尝试不同的方法,我的 gradle 文件被破坏了。 所以我从以下文件中删除了所有代理和端口信息表单,事情就成功了。
用户 -> .gradle -> gradle.properties
此外,我在 Android studio -> 首选项 -> 网络和工作室的 HTTP 代理下启用了“自动检测代理设置”,将自动检测网络配置。
我只是分享这个答案,因为我有类似的问题。
最后,错误是因为我无意中更改了fileTree
。 就我而言,我通过更改来修复:
// implementation or compile
implementation fileTree(include: ['*.jar'])
到
// implementation or compile
implementation fileTree(include: ['*.jar'], dir: 'libs')
我已经解决了这个 Gradle 缓存问题,如下所示。
如果有人使用 MacBook,那么下面是我用来解决此问题的步骤。
快捷方式(⌘ + shift + G)
然后在弹出窗口中输入这个~/.gradle/
按回车
要删除的文件 -> gradle.properties
我没有看到提到的一种可能性。 如果您要导入的项目使用 android 产品风格,则您的missingDimenstionStrategy
可能有误。
在您的:app
build.gradle
(未能解决依赖关系的代码)中,确保您已正确设置您所依赖的产品的特定风格。 这允许您以后的所有依赖代码(例如implementation
, api
等)知道它依赖于哪个精确构建
defaultConfig {
...<snip unrelated>...
// Ensure you specify the flavor you depend on!!
// If dep has multiple flavor dimensions, you need to specify them all
missingDimensionStrategy 'classpath', 'gms17'
}
对于尝试导入他们自己创建的库时获得此功能的任何人
我一直在使用Kotlin 多平台库,并尝试使用 jitpack 发布我的库,然后将它们拉入其他项目。 我对大部分内容都很陌生,不知道我需要在 gradle 中将 publishLibraryVariants 添加到我的 android 配置中。 我遵循了其他不需要这个的教程,所以我不确定 Kotlin MPP 是什么让你需要它。 这是代码。 您可能会发布满足您需求的其他变体,但这些似乎是使用基本项目构建的标准要求。 android 之后的 () 不是绝对必要的,但是默认脚本随附了它们,所以我离开了它。 Kotlin 或 Groovy DSL 的代码基本相同。
在正在发布的库的 gradle 脚本中
kotlin {
android() {
publishLibraryVariants("release", "debug")
…
}
…
}
以下解决方案可能对某人有所帮助。
我在新模块中使用implementation project(':my_project_other_modules')时遇到了这个问题。
我和我的队友讨论过,最后我从其中一个人那里得到了解决方案,我必须使用flavorDimensions 和 productFlavors。 因为app/build.gradle使用了flavorDimensions 和 productFlavors。 当我在新模块中添加这些时,没有发生错误。
就我而言,代码中有一个错字。 因此,在尝试其他任何事情之前,请务必先检查一下。
我无法找到问题的根本原因,但找到了解决方法。 我首先将我的 java home 变量设置为这样。
vi ~/.bash_profile
(这仅适用于 mac。linux 上的 bash 配置文件不同)i
进行插入,然后将 JAVA_HOME 变量设置为这样export JAVA_HOME=/Applications/Android\\Studio.app/Contents/jre/jdk/Contents/Home/
esc
退出 vi 编辑器,然后输入:wq
就我而言:当我设置 AS 时,我的 Windows 配置了代理。 后来,我断开代理并在 AS 设置中禁用代理,但是,在文件 .gradle\\gradle.properties - proxy - present
只是,在文本编辑器中清除此文件中的代理设置
我遇到了你的问题,我解决了。 当您的目标 api 级别未完全下载时会出现此错误。 您有两种方法:转到您的 SDK 菜单并下载所有 android 9 组件,或者更好的方法是转到您的 build.gradle(Module app) 并像这样更改它:但请记住,在应用这些更改之前,请确保您已完全下载 api lvl 8
在我的情况下,我使用了谷歌播放服务......我增加了它解决的图书馆服务
implementation 'com.google.android.gms:play-services-auth:16.0.0'
库和应用模块中的 Google Play 服务必须相同
对我来说,这是子模块。 虽然目录在那里,但由于某种原因缺少源文件。 更新子模块后,工作正常。
如果未导入库,则会出现此错误。 在我的情况下,它不允许我导入文件/新建/导入库下的库,给我错误:
“项目已经包含具有该名称的模块。”
我能够解决该问题并导入所需的库,并成功构建该应用程序。
在此处查看解决方案:
从 Android Studio 3.5.2 for Windows 开始,问题仍然相关。
在我的特定用例中,当我不断遇到这种特别的头痛时,我试图将 Gander ( https://github.com/Ashok-Varma/Gander ) 添加到我的依赖项列表中。
事实证明,我还没有在我的cacerts
文件中获得 JCenter 证书的批准。 我正在通过公司防火墙,我必须使用我尝试导入的依赖项来执行此操作。 因此,要这样做:
确保您的 Android Studio 不需要通过任何代理。
导出获得依赖项的证书(通常只是 JCenter)
将证书添加到您的cacerts
文件中:
keytool -import -alias [your-certificate-name] -keystore 'C:\\Program Files\\Java\\jdk[version]\\jre\\lib\\security\\cacerts' -file [absolute\\path\\to\\your\\certificate].cer
重启安卓工作室
再次尝试同步。
尝试在依赖行中添加配置类型。 例如:
implementation project(path: ':some_module', **configuration: 'default'**)`
如果您曾经使用过代理、VPN 等(或者可能没有,我不确定) .....那么下面的解决方案可能会帮助您...我不知道为什么(如果有人能告诉我为什么,我会很感激),但它确实有效。 当您对这个问题感到绝望时,请尝试一下。
来到你的项目,打开gradle-wrapper.properties或gradle.properties ,注释掉这些关于代理的代码:
#systemProp.http.nonProxyHosts=118.89.144.241|47.112.105.125
#systemProp.http.proxyHost=127.0.0.1
#systemProp.http.proxyPort=1081
#systemProp.https.nonProxyHosts=118.89.144.241|47.112.105.125
#systemProp.https.proxyHost=127.0.0.1
#systemProp.https.proxyPort=1081
那么,它可能会起作用。
PS:当我尝试使用dataBinding 库时遇到这个问题,当我添加代码时
buildFeatures {
dataBinding true
}
按照指南告诉我和 Syns 项目进入 gradle,我收到这样一个错误:“无法解析 ':app@debug/compileClasspath' 的依赖关系:无法解析......”。 最后我做了我上面描述的,我成功了。 我的经历可能会给你一个提示,所以我在这里发布了解决方案,希望它可能会有所帮助。
人们回答离线工作是积极的是对的。 但就我而言,它位于不同的地方。 要在顶部栏菜单中找到它,请选择
此外,您可以单击顶部栏菜单中的帮助菜单并编写“gradle”并建议位置。
这既不是缓存问题,也不是应用程序与库的问题。 这是证书问题。 如果您尝试运行您的项目而不是 gradle build,您会发现下载证书很困难。 要解决这个问题,只需添加google每个月更换的证书即可。
这是我的命令行,请使用您自己的路径进行相应编辑。 密钥库的密码是changeit
。
keytool -import -alias google_10 -keystore /Library/Java/JavaVirtualMachines/adoptopenjdk-9.jdk/Contents/Home/lib/security/cacerts -file ~/Desktop/GTS\\ CA\\ 1C3.cer
如果您同时使用这两种情况,可能会发生这种情况
'com.android.support:appcompat-v7:28.0.0-alpha3'
'com.android.support:support-v4:28.0.0-alpha3'
删除线
implementation 'com.android.support:support-v4:28.0.0-alpha3'
从您的build.gradle
文件中,然后重试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.