繁体   English   中英

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

[英]Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve com.android.support:appcompat-v7:26.1.0

无法解析“: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。
要求:
项目:应用程序
没有缓存版本的 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。
要求:
项目:应用程序
没有缓存版本的 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。
要求:
项目:应用程序
没有缓存版本的 com.android.support:design:26.1.0 可用于离线模式。
没有缓存版本的 com.android.support:design:26.1.0 可用于离线模式。
无法解析 com.android.support:cardview-v7:26.1.0。
要求:
项目:应用程序
没有缓存版本的 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。
要求:
项目:应用程序
没有缓存版本的 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。
要求:
项目:应用程序
没有缓存版本的 com.android.support:support-v4:26.1.0 可用于离线模式。
没有缓存版本的 com.android.support:support-v4:26.1.0 可用于离线模式。

错误日志图像:

单击此处查看图像

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

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

文件->设置->构建、执行、部署-> 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 )。

清单声明更改

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

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

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

 apply plugin: 'com.android.application' android { ... defaultConfig { minSdkVersion 16 ... } ... }

关注Android 开发者库支持

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

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

之后,我重新同步了 Gradle。 然后,我将这行代码粘贴回去,再次重新同步 Gradle 并且它起作用了。

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

Invalidate Cache / Restart从文件Invalidate Cache / Restart选项。

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

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

替换版本详细信息

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

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

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

使用Invalidate Caches/Restart它将为您工作,并确保您的 gradle 离线同步选项未启用

在项目gradle中添加这个对我有用

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

对于居住在谷歌禁止的国家(如伊朗)的用户来说,这是一个问题。 出于这个原因,我们需要通过代理删除这些限制。 跟我来:

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

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

文档中

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

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

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

今天我有类似的问题。

以前在我的项目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/'}
}}

然后我只是在 allprojects 中添加了以下行

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. 加强依赖的模块应该与依赖模块具有相同的风格和维度
  2. 您应该明确指出您在模块中的目标配置

像这样:

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

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

如果您没有取消选中 offline work ,那么请确保您有 Android Studio 的互联网来规范您的项目。

如果您在添加动态模块后遇到同样的错误,请不要担心,请按照以下步骤操作:

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

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

对于接受的答案不能解决这个问题的其他人......

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

'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 映射的支持库列表

对我来说,原因是jcenter url 不正确。 为了解决它,我只是更改了应用程序和项目级别build.gradle url

来自

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

jcenter()

转到 build.Gradle 文件并在这些地方将 27 和 29 替换为 25 1. targetSdkVersion 25 2. implementation 'com.android.support:appcompat-v7:25.+'

它真的对我有用 谢谢。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM