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


93

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

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

要求:project:app

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

错误日志:

无法解析配置':app:debugCompileClasspath'的所有文件。
无法解析com.android.support:appcompat-v7:26.1.0。
必需:
project: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。
必需:
project: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。
必需:
project:app
没有com.android.support:design:26.1.0的缓存版本可用于离线模式。
离线模式下没有com.android.support:design:26.1.0的缓存版本。
无法解析com.android.support:cardview-v7:26.1.0。
必需:
project: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。
要求:
project: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。
必需:
project:app
没有可用于脱机模式的com.android.support:support-v4:26.1.0的缓存版本。
离线模式下没有com.android.support:support-v4:26.1.0的缓存版本。

错误日志图像:

点击这里查看图片


如果您使用的是VPN,请将其关闭以使其正常工作。
Treewallie

Answers:


140

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


2
您应该使缓存无效并重新启动。请按照以下步骤操作file-> invalidate caches/Restart然后invalidate and restart在出现的对话框中选择。
Olaoye Oluwapelumi

您需要再次同步项目。
Abbu Jan

1
我在Android studo中找不到此选项
Chaklader Asfak Arefe,

@Arefe此后,它已移至主窗口右侧的专用Gradle面板,可以在其中单击专用的“切换脱机模式”按钮。
Edric

5
对我来说,这个选项是取消选中的,但是我有这个错误

35

以下是的变通方法演示图像;Offline work通过转到以下位置取消选中该选项:

File-> Settings-> Build, Execution, Deployment->Gradle

在此处输入图片说明

如果上述解决方法不起作用,请尝试以下操作:

  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)。

清单声明更改

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

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

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

apply plugin: 'com.android.application'

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

遵循Android开发者库支持


14

刚去build.gradle并删除了这一行:

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

之后,我重新同步了Gradle。然后,我将代码行粘贴回去,再次重新同步Gradle并成功。

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


8

Invalidate Cache / Restart 从文件选项。

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


现在,此选项不可用,似乎在Android的工作室
Chaklader Asfak Arefe



4

在android \ app \ build.gradle文件中,

替换版本详细信息

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

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

Android Studio将使用合适的版本使其适合您。


2

对于生活在Google禁止的国家(例如伊朗)的用户来说,这是一个问题。因此,我们需要通过代理删除这些限制。跟着我 :

文件->设置->外观和行为->系统设置-> Http代理->手动代理配置-> HTTP->主机名:fodev.org->端口:8118。

然后单击确定按钮。然后转到file-> Invalidate Caches / Restart。。。使用并享受正确的执行而不会出现错误;)


在伊朗,我们使用shecan dot iran服务;)你呢?我更改了dns及其工作的方式
saber tabatabaee yazdi

1
shekan只能打开Developers.android,无法打开其他网站(如medician.com和Internet站点)
Ali.Yazdani

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

文档中

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

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


1

转到“文件”->“其他设置”->“新项目的首选项”->“构建,执行,部署”->“构建工具”->“等级”->“取消选中离线工作”选项。


2
区别在于此“默认设置”和此“新项目的首选项”。我敢肯定,您现在已经了解了
Collins Ushi

0

对于在项目中具有风格并找到此线程的用户:

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

  1. 加强依赖关系的模块应具有与依赖关系模块相同的样式和尺寸
  2. 您应该在模块中明确指出要定位的配置

像那样:

dependencies {
    compile project(path: ':module', configuration:'alphaDebug') 
}

0

我遇到了同样的问题,并添加mavenCentral()了build.gradle文件的存储库块对我有用。我取消选中并添加了离线工作maven { url "https://maven.google.com" }。为在此线程末尾发现自己的迷失灵魂添加此答案。


0

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


0

如果在添加动态模块后遇到相同的错误,请不要担心,请遵循以下步骤:

  • 在build.gradle(dynamic-module)中添加productFlavors

    productFlavors {
    flavorDimensions "default"
    stage {
       // to do
    }
    prod {
       // to do
    
     }
    }

0

对于其他人来说,可接受的答案不能解决此问题...

截至2018年9月,AndroidX已取代了包括支持appcompat-v7库的Android支持库。

'com.android.support:appcompat-v7'变为'androidx.appcompat:appcompat:1.0.0'

'com.android.support:design'变为'com.google.android.material:material:1.0.0'

参考文献:

https://developer.android.com/jetpack/androidx/migrate 支持库列表到AndroidX的映射


0

对我来说,原因是网址错误jcenter。为了解决这个问题,我只是更改了应用程序和项目级别的URLbuild.gradle

jcenter { url "http://jcenter.bintray.com/"}

jcenter()

0

转到build.gradle文件,并在以下位置将27和29替换为25 1. targetSdkVersion 25 2.实现“ com.android.support:appcompat-v7:25.+”

真的对我有用。谢谢。


0

App gradle中使用的实现'androidx.appcompat:appcompat:1.1.2'为我解决了此问题

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.