无法解析':app @ debug / compileClasspath'的依赖关系:无法解析com.android.support:appcompat-v7:26.1.0 Android Developer Library支持

问题描述 投票:71回答:13

无法解析':app @ debug / compileClasspath'的依赖关系:无法解析com.android.support:appcompat-v7:26.1.0。

无法解析com.android.support:appcompat-v7:26.1.0。

要求:项目:app

没有缓存版本的com.android.support:appcompat-v7:26.1.0可用于离线模式。

错误日志:

无法解析配置':app:debugCompileClasspath'的所有文件。 无法解析com.android.support:appcompat-v7:26.1.0。 要求: 项目:app 没有缓存版本的com.android.support:appcompat-v7:26.1.0可用于离线模式。 没有缓存版本的com.android.support:appcompat-v7:26.1.0可用于离线模式。 无法解析com.android.support.constraint:constraint-layout:1.1.0-beta3。 要求: 项目:app 没有缓存版本的com.android.support.constraint:constraint-layout:1.1.0-beta3可用于离线模式。 没有缓存版本的com.android.support.constraint:constraint-layout:1.1.0-beta3可用于离线模式。 无法解决com.android.support:design:26.1.0。 要求: 项目:app 没有缓存版本的com.android.support:design:26.1.0可用于离线模式。 没有缓存版本的com.android.support:design:26.1.0可用于离线模式。 无法解析com.android.support:cardview-v7:26.1.0。 要求: 项目:app 没有缓存版本的com.android.support:cardview-v7:26.1.0可用于离线模式。 没有缓存版本的com.android.support:cardview-v7:26.1.0可用于离线模式。 无法解析com.google.android.gms:play-services-ads:11.4.2。 要求: 项目:app 没有缓存版本的com.google.android.gms:play-services-ads:11.4.2可用于离线模式。 没有缓存版本的com.google.android.gms:play-services-ads:11.4.2可用于离线模式。 无法解析com.android.support:support-v4:26.1.0。 要求: 项目:app 没有缓存版本的com.android.support:support-v4:26.1.0可用于脱机模式。 没有缓存版本的com.android.support:support-v4:26.1.0可用于脱机模式。

错误日志图片:

android android-studio gradle android-gradle
13个回答
128
投票

File->Other Settings->Default Settings->Build, Execution, Deployment->Build Tools->Gradle->Uncheck Offline work option.


0
投票

我遇到了同样的问题,并在我的build.gradle文件的存储库块中添加了mavenCentral()。我没有检查脱机工作并添加maven { url "https://maven.google.com" }。为失去的灵魂添加这个答案,这些灵魂发现自己已经在这个线程的末尾。


0
投票

来自documentations

将支持库添加到依赖项部分。例如,要添加v4 core-utils库,请添加以下行:

dependencies {
    ...
    implementation "com.android.support:support-core-utils:28.0.0"
}

0
投票

如果您未取消选中离线工作,请确保您拥有适用于Android Studio的互联网以规范您的项目。


0
投票

如果在添加动态模块后出现同样的错误,请不要担心:

  • 在build.gradle中添加productFlavor(动态模块) productFlavors { flavorDimensions "default" stage { // to do } prod { // to do } }

24
投票

以下是一个解决方法演示图像;通过转到:取消选中离线工作选项:

文件 - >设置 - >构建,执行,部署 - > Gradle

enter image description here

If above workaround not works then try this:

  1. 打开您的应用程序的build.gradle文件。
  2. 确保存储库部分包含带有“https://maven.google.com”端点的maven部分。例如: allprojects { repositories { jcenter() maven { url "https://maven.google.com" } } }
  3. 将支持库添加到dependencies部分。例如,要添加v4 core-utils库,请添加以下行: dependencies { ... compile "com.android.support:support-core-utils:27.1.0" }

警告:使用动态依赖项(例如,palette-v7:23.0.+)可能会导致意外的版本更新和回归不兼容。我们建议您明确指定库版本(例如,palette-v7:27.1.0)。

Manifest Declaration Changes

具体来说,您应该将清单中android:minSdkVersion标记的<uses-sdk>元素更新为新的较低版本号,如下所示:

<uses-sdk
  android:minSdkVersion="14"
  android:targetSdkVersion="23" />

如果您使用的是Gradle构建文件,则构建文件中的minSdkVersion设置将覆盖清单设置。

apply plugin: 'com.android.application'

android {
   ...
      defaultConfig {
            minSdkVersion 16
            ...
        }
        ...
    }

Following Android Developer Library Support.


8
投票

刚刚去了build.gradle并删除了该行:

implementation 'com.android.support:appcompat-v7:26.1.0'

之后,我重新同步了Gradle。然后,我将代码行粘贴回来,再次重新同步Gradle并且它有效。

注意:在进行此更改时,我还更新了所有需要更新的SDK工具。


7
投票

来自文件选项的Invalidate Cache & Restart

只是取消选中离线模式对我不起作用。


6
投票

使用Invalidate Caches/Restart它将适用于您,并确保您的gradle脱机同步选项未启用


6
投票

在项目gradle中添加这个为我工作

allprojects {
 repositories {
     jcenter()
     maven {
         url "https://maven.google.com" // specifically this worked 
     }
 }}

1
投票

今天我遇到了类似的问题。

以前在我的项目gradle中

// Top-level build file where you can add configuration options common to all 
sub-projects/modules.
allprojects {
repositories {
    jcenter()
    google()
    mavenCentral()
    maven { url "https://jitpack.io" }
    maven { url 'https://plugins.gradle.org/m2/'}
}}

然后我在所有项目中添加了以下这一行

maven {
        url "https://maven.google.com"
    }

它救了我的一天。

现在我当前的allproject {}代码看起来像这样

allprojects {
repositories {
    jcenter()
    google()
    mavenCentral()
    maven { url "https://jitpack.io" }
    maven { url 'https://plugins.gradle.org/m2/'}
    maven {
        url "https://maven.google.com"
    }
}}

1
投票

我解决了这个问题。在Home Ubuntu中,我删除了.gradle文件夹并再次下载。我希望它有用


0
投票

For users which have flavors in the project and found this thread:

请注意,如果您的模块依赖项具有不同的风格,则应使用以下策略之一:

  1. 收紧依赖项的模块应该具有与依赖项模块相同的风格和维度
  2. 您应该明确指出您在模块中定位的配置

像那样:

dependencies {
    compile project(path: ':module', configuration:'alphaDebug') 
}
© www.soinside.com 2019 - 2024. All rights reserved.