无法解析对“ : app@debug/developeClassspath”的依赖项: 无法解析

新安装的 Android 工作室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

截图:

TestProject

这个问题发生在我身上好几次,强制使用 https 或 http也没有解决

161923 次浏览
  1. 尝试“文件”-> “无效缓存/重新启动...”
  2. 尝试清理项目根目录下的 .gradle.idea目录。
  3. 尝试添加 GoogleMaven 存储库和同步项目

    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"
    }
    }
    }
    
  4. If you are using Android Gradle Plugin 3.1.3, you should be sure that your gradle wrapper version is 4.4. Under the root directory of your project, find gradle-wrapper.properties and modify it as below.

    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
    

我无法找到问题的根本原因,但得到了一个解决办法。我首先将 java home 变量设置为这样。

  • vi ~/.bash_profile(这只适用于 mac。 bash 配置文件在 linux 上是不同的)
  • 键入字母 i进行插入,然后设置 JAVA _ HOME 变量
  • export JAVA_HOME=/Applications/Android\Studio.app/Contents/jre/jdk/Contents/Home/
  • 使用 esc退出 vi 编辑器,然后键入 :wq
  • 重启电脑
  • 瞧! 您的机器人工作室项目应该建立没有任何疑虑

我只是想出了如何消除这个分级错误,按照下面的步骤。

  1. 进入“文件”。
  2. 单击“无效缓存/重新启动”。
  3. 再次单击 InvalidCache/Restart (On 对话框)。

让梯级建立没有任何中断。

谢谢! 问候,希望这个能帮上忙。

我在启用脱机模式时遇到了这个问题。我关闭了脱机模式并进行了同步。

  • 通过单击 File > Settings打开首选项。
  • 在左窗格中,单击 Build, Execution, Deployment > Gradle
  • 取消检查 Offline work
  • 应用更改并再次同步项目。

我分享这个答案只是因为我也有类似的问题。

最后,错误是因为我无意中改变了 fileTree。在我的例子中,我通过改变来修复:

// implementation or compile
implementation fileTree(include: ['*.jar'])

// implementation or compile
implementation fileTree(include: ['*.jar'], dir: 'libs')

我认为问题出在以下方面: 与 u 的互联网连接不可用,所以 Android Studio 要求您启用“脱机工作”,您只是启用了它

为了解决这个问题:

  • 档案
  • 设定
  • 构建,执行,部署
  • 格拉德尔
  • 取消检查脱机工作

为什么取消检查离线工作可能会解决问题,因为在 Gradle 中有时需要更新一些依赖项(包含’+’的那些) ,所以需要互联网连接。

就我而言: 当我设置 AS 时,我的窗口配置了代理。 后来,我断开代理服务器并在 AS 设置中禁用代理服务器,但是,在文件中 属性-代理-存在

只需在文本编辑器中清除此文件中的代理设置

我解决了你的问题。当您的目标 API 级别没有完全下载时,就会出现此错误。你有两种方法: 进入你的 SDK 菜单并下载所有的 android 9组件,或者更好的方法是进入你的 build.gradle (Module 应用)并像这样改变它: 但是请记住,在应用这些更改之前,请确保您已经完全下载了 api LV8

你可能导入的是 申请而不是 模组。那么你也可以在模块的等级中改变它。

改变

apply plugin: 'com.android.application'

apply plugin: 'com.android.library'

您还需要从梯级中移除 ApplicationId

我知道现在很晚了,但我认为这可能有助于某人解决他的问题。

在我的例子中,它的发生是因为在我检查 SDK 管理器时,它显示软件包已经部分安装了。而 SDK 版本28已经完全安装。我使用支持类库将我的 buildeSdkVersion 和 targetSdkVersion 更改为28。

编译 SdkVersion 29 TargetSdkVersion 29 实现“ com.android.support: appcompat-v7:29. +” 实现“ com.android.support: design: 29. +”

修改后: 编译 SdkVersion 28 TargetSdkVersion 28 实现“ com.android.support: appcompat-v7:28. +” 实现“ com.android.support: design: 28. +”

在应用了这些变化之后,它像魔法一样工作。

在我的情况下,我使用谷歌播放服务... 我增加图书馆服务,它解决了

implementation 'com.google.android.gms:play-services-auth:16.0.0'

谷歌播放服务必须在图书馆和应用程序模块相同

参考文献

@ 时珍的回答对我的案子没有帮助。

花费超过一天的时间,最终得到了一个有效的解决方案。 我在办公室里,所以通过尝试不同的方法,我的档案被损坏了。 所以我从下面的文件中删除了所有的代理和端口信息表单,事情得到了解决。

User-> . gradle-> gradle.properties

此外,我启用了“自动检测代理设置”下的 Android 工作室-> 首选项-> HTTP 网络代理和工作室将自动检测网络配置。

特别信贷

正如@Ebin Joy 所说,如果你的分级文件损坏了,那么有一个简单的解决方案。手动提供代理详细信息,如图所示。那你就可以走了。这个解决方案只有当你使用任何封闭的网络,如办公室网络等。

enter image description here

问题仍然相关的 Android Studio 3.5.2 for Windows。

在我的特定用例中,我试图将 Gander (https://github.com/Ashok-Varma/Gander)添加到我的依赖关系列表中,但是我总是遇到这个特别令人头疼的问题。

事实证明,我还没有在 cacerts文件中获得 JCenter 证书认证。我正在通过一个公司防火墙,我必须这样做与依赖,我试图导入。因此,这样做:

  1. 确保您的 Android Studio 不需要通过任何 代理人。

  2. 从获得依赖项的地方导出证书(通常为 只是 JCenter)

  3. 将证书添加到 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

  4. 重启 Android Studio

  5. 再试试同步。

答案是基于这一个: https://stackoverflow.com/a/26183328/4972380

我已经解决了这个 Gradle 缓存问题,如下所示。

如果有人使用 MacBook,下面是我用来解决这个问题的步骤。

  1. 有一个隐藏的格拉德尔文件夹。通过使用下面的命令,我们可以打开隐藏的 Gradle 文件夹并删除名为 Gradle.properties 的文件

快捷键 (⌘ + shift + G)然后输入这个内弹出窗口 ~/.gradle/按回车

要删除的档案-> gradle.properties

  1. 然后回到 android 工作室,将你的项目与 Gradle 文件同步。

尝试在依赖项行中添加配置类型。例如:

implementation project(path: ':some_module', **configuration: 'default'**)`

有一种可能性我没见过。如果您导入的项目使用了 android 产品风格,那么您可能在 missingDimenstionStrategy中出现错误。

:app build.gradle(一个无法解决依赖项的代码)中,确保正确设置了所依赖的产品的特定风格。这允许您以后的所有依赖代码(e。(如 implementationapi等) ,以了解它所依赖的精确版本

 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'
}

如果你曾经使用过代理,VPN 等(或者可能没有,我不确定) ... ... 那么下面的解决方案可能会帮助你... ... 我不知道为什么(如果有人能告诉我为什么,我会很感激) ,但它工作,完美。当你对这个问题感到绝望的时候,试一试吧.

来到你的项目,打开 梯级包装纸,性能Gradle 房地产公司,注释出关于代理的这些代码:

#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

enter image description here

然后,它 也许吧工作。

PS: 我在尝试使用 DataBinding 库和添加代码时遇到了这个问题

buildFeatures {
dataBinding true
}

正如向导告诉我和 Syns 的那个项目一样,我得到了这样一个错误: “无法解决对‘ : app@debug/buildeClasspath’的依赖: 无法解决... ...”。最后我做了上面描述的事情,我成功了。我的经验可能会给你一个提示,所以我把解决方案贴在这里,希望它能有所帮助。

对于任何想要导入自己创建的图书馆的人来说

我一直在使用 Kotlin 多平台库,并尝试使用 jitpack 发布我的库,然后将它们放到其他项目中。我对其中的大部分都是新手,不知道我需要在 gradle 中的 android 配置中添加 PublishLibraryVariants。我遵循其他教程,不需要这一点,所以我不知道是什么关于 Kotlin MPP,使您需要它。这是密码。您可能会发布满足您需求的其他变体,但是这些似乎是用基本项目构建的标准需求。Android 之后的()并不是绝对必要的,但是默认的脚本是附带的,所以我把它留下了。Kotlin 或 Groovy DSL 的代码基本相同。

在图书馆出版的分级脚本里

kotlin {
android() {
publishLibraryVariants("release", "debug")
…
}
…
}


人们回答线下工作是活跃的是正确的。但在我的案子里,它位于不同的地方。要在顶部栏菜单中找到它,请选择

  1. 视图/工具窗口/梯子
  2. 切换脱机按钮,如果激活。它是一个小矩形与两个中心斜杠

此外,你可以点击顶部酒吧菜单中的帮助菜单,并写“梯度”,它建议的位置。

下面的解答可能对某人有帮助。

在新模块中使用 实现项目(’: my _ project _ other _ module’)时,我遇到了这个问题。

我和我的队友们讨论,最后我从一个人那里得到了解决方案, 我必须使用 尺寸和产品。,因为 App/build.gradle使用了 尺寸和产品。,当我在新模块中添加这些时,错误没有发生。

在我的例子中,代码中有一个输入错误。因此,在尝试其他任何操作之前,请注意首先检查这个错误。

这既不是缓存问题,也不是应用程序与库之间的问题。这是一个证书问题。如果您尝试运行您的项目而不是 gradle build,您将会看到下载证书非常困难。要解决这个问题,只需添加证书,谷歌每月更改其他。

这是我的命令行,请用你自己的路径相应地编辑它。密钥存储库的密码是 changeit

keytool -import -alias google_10 -keystore /Library/Java/JavaVirtualMachines/adoptopenjdk-9.jdk/Contents/Home/lib/security/cacerts -file ~/Desktop/GTS\ CA\ 1C3.cer