无法解决依赖项':app@debug/compileClasspath':无法解析。

84

新安装的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

屏幕截图:

TestProject

我遇到了这个问题好几次,即使强制使用https或http也无法解决它。


你的问题有什么解决方案吗? - Code_Life
你好,你是怎么解决你的错误的?我看到你没有接受下面任何答案。所以我尝试了下面提到的所有可能的解决方案,但都没有帮助到我。 - Lokesh Pandey
1
@ Lokesh 这是 com.android.support:appcompat-v7:28.0.0-alpha3 中的一个错误,所以我将其更改为 com.android.support:appcompat-v7:28.0.0,然后它正常工作了。 - Zulqurnain Jutt
@ZulqurnainJutt 我不确定。但是我在一个受限的环境中工作。所以我只是在开放的互联网连接中运行了所有东西。而且它可以正常工作。 - Lokesh Pandey
@ZulqurnainJutt,你解决了这个问题吗?我也遇到了同样的问题。 - hfarhanahmed
显示剩余4条评论
23个回答

1
以下解决方案可能对某些人有帮助。
当我在新模块中使用 implementation project(':my_project_other_modules') 时,我遇到了这个问题。
我与我的团队讨论后,最终从其中一位同事那里得到了解决方案,我必须使用 flavorDimensions & productFlavors。 因为 app/build.gradle 使用了 flavorDimensions & productFlavors。 当我在新模块中添加这些内容时,错误就没有发生。

1

在我的情况下,代码中有一个错字。因此,在尝试其他任何操作之前,请务必注意首先检查这一点。


1

如果您在尝试导入自己创建的库时遇到此问题

我一直在使用Kotlin Multiplatform库,并尝试使用jitpack发布我的库,然后将它们拉入其他项目。我对大多数内容都很陌生,不知道需要在gradle中添加publishLibraryVariants才行。我按照其他教程操作,但似乎Kotlin MPP需要这个设置。下面是代码。您可能还可以发布其他符合您需求的变体,但这些似乎是构建基本项目所需的标准要求。android后面的()并非绝对必要,但默认脚本包含它们,因此我保留了它。对于Kotlin或Groovy DSL,代码本质上是相同的。

发布库的gradle脚本中

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


1

我看到没有提到的一种可能是,如果您导入的项目使用了Android产品风味,则您的missingDimenstionStrategy中可能存在错误。

在您的:appbuild.gradle中(正在无法解析依赖项的代码),请确保您已正确设置所依赖的产品的特定风味。这样,所有后续依赖项代码(如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'
    }

0

截至 Android Studio 3.5.2 for Windows,问题仍然相关。

在我的特定用例中,当我试图将 Gander (https://github.com/Ashok-Varma/Gander) 添加到我的依赖列表中时,我一直遇到这个特别的头痛。

事实证明,我还没有在我的 cacerts 文件中获得 JCenter 证书的批准。我正在通过公司防火墙,并且我必须对我尝试导入的依赖项执行此操作。因此,要这样做:

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

  2. 导出您获取依赖项的证书(通常只是JCenter)

  3. 将证书添加到您的文件中:

    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://dev59.com/L18e5IYBdhLWcg3wAWrs#26183328


0

0
在我的情况下: 当我设置AS时,我的Windows已配置代理。 后来,我断开了代理并在AS设置中禁用了代理,但是在文件.gradle\gradle.properties中-代理-仍然存在。
只需在文本编辑器中清除此文件中的代理设置即可。

0

我无法找到问题的根本原因,但有了一个解决方法。首先,我通过设置我的Java主目录变量来开始。

  • vi ~/.bash_profile(这是仅适用于Mac的。在Linux上,bash配置文件不同)
  • 键入字母i进行插入,然后将JAVA_HOME变量设置为如下所示
  • export JAVA_HOME=/Applications/Android\Studio.app/Contents/jre/jdk/Contents/Home/
  • 使用esc退出vi编辑器,然后键入:wq
  • 重新启动计算机
  • 完成! 您的Android Studio项目应该可以顺利构建

0

在我的情况下,我使用了Google Play服务...我增加了库服务,问题得到了解决。

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

Google Play服务在库和应用程序模块中必须相同

参考


0

回答离线工作是否有效的人是正确的。但在我的情况下,它位于不同的位置。要在顶部菜单中找到它,请选择

  1. 查看/工具窗口/Graddle
  2. 如果活动,请切换离线按钮。它是一个带有两个居中斜杠的小矩形

此外,您可以在顶部菜单中单击帮助菜单并编写“gradle”,它会建议位置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接