【问题标题】:Error: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
【发布时间】:2018-05-11 23:13:12
【问题描述】:

当我新出现上述项目错误时,我使用 android studio 3.0 gradle 4.1 这是错误:

错误:无法解析 ':app@debug/compileClasspath' 的依赖关系:无法解析 com.android.support:appcompat-v7:26.1.0。 打开文件
显示详细信息

错误:无法解析 ':app@debugAndroidTest/compileClasspath' 的依赖关系:无法解析 com.android.support:appcompat-v7:26.1.0。 打开文件
显示详细信息

错误:无法解析 ':app@debugUnitTest/compileClasspath' 的依赖关系:无法解析 com.android.support:appcompat-v7:26.1.0。 打开文件
显示详细信息

错误:无法解析 ':app@stagingUnitTest/compileClasspath' 的依赖关系:无法解析 com.android.support:appcompat-v7:26.1.0。 打开文件
显示详细信息

当我点击显示详细信息时,以下是:

无法解析 com.android.support:appcompat-v7:26.1.0。 要求: 项目:应用程序

无法解析 com.android.support:appcompat-v7:26.1.0。 无法获取资源“https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/26.1.0-beta2/appcompat-v7-26.1.0.pom”。 无法 HEAD 'https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/26.1.0/appcompat-v7-26.1.0.pom'。 连接到 dl.google.com:443 [dl.google.com/74.125.237.0] 失败:连接超时:连接 连接超时:连接

【问题讨论】:

标签: android


【解决方案1】:

经过大量研究和头痛...转到 File\Settings\Gradle。取消选择“离线工作”框。现在您可以连接并下载任何必要或缺少的依赖项。

【讨论】:

    【解决方案2】:

    我尝试了所有方法,例如取消选中离线 gradle、distributionUrl 等。

    但是在 build.gradle 文件的末尾添加这个解决了我的问题 -

    repositories {
        flatDir {
            dirs 'libs'
        }
    }
    

    【讨论】:

      【解决方案3】:

      从 Android 3.0 开始,Android 库可以通过 Google 的 Maven 存储库 (https://developer.android.com/studio/build/dependencies.html#google-maven) 直接下载。

      因此,您可以在顶级 build.gradle 文件中使用:

      allprojects {
          repositories {
              google()
      
              // If you're using a version of Gradle lower than 4.1, you must instead use:
              // maven {
              //     url 'https://maven.google.com'
              // }
              // An alternative URL is 'https://dl.google.com/dl/android/maven2/'
          }
      }
      

      你可以声明一个 android 库,比如(在 app/build.gradle 中):

      dependencies {
          compile 'com.android.support:appcompat-v7:27.0.0'
      }
      

      对于其他库(不在 Google 的存储库中),您可以将 jcenter() 添加为存储库。

      自 Android Gradle Plugin 3.0 起,配置编译已被弃用并由实现取代(请参阅https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html#new_configurations)。

      【讨论】:

      • 这对我来说不是一个好主意,编译'com.android.support:appcompat-v7:27.0.0'需要下载一些工具但是在中国互联网受到限制,不是免费的,我想使用 compile 'com.android.support:appcompat-v7:26.1.0' ,怎么做?
      • 也许您可以将您的 gradle 配置更改为不使用 google(),而是使用 mavenLocal() (docs.gradle.org/current/userguide/…) 或其他一些配置(本地目录),如 docs.gradle.org/current/userguide/… 中所述
      • 首先,谢谢你为我回答这个问题,但我是一名初级android工程师我无法理解你的意思,关于gradle版本和插件关系的那些问题我有很多困惑跨度>
      猜你喜欢
      • 2018-04-10
      • 1970-01-01
      • 2018-06-05
      • 1970-01-01
      • 2018-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多