【问题标题】:Failed to resolve: support-compat ONLY FOR :27.1.1无法解决:support-compat ONLY FOR :27.1.1
【发布时间】:2018-12-26 08:06:39
【问题描述】:

我有一个带有 build.gradle 文件的 android 模块:

apply plugin: 'com.android.library'

android {
        compileSdkVersion 27

        defaultConfig {
                minSdkVersion 14
                targetSdkVersion 27
                versionCode 1
                versionName "1.0.0"
        }
}

dependencies {
        implementation 'com.android.support:support-compat:27.1.1'
}

并在 Gradle 同步过程中收到此错误:

无法解决:support-compat

我使用的依赖标识符正是根据https://developer.android.com/topic/libraries/support-library/packages#v4-compat(当我写这个问题时)。

有趣的是问题是仅适用于版本27.1.1我测试的所有其他版本(24.2.026.0.027.0.0 和甚至27.1.0) 都可以。

另外,我从这个版本 (27.1.1) 测试的所有其他支持库都可以。以下是它们的列表:

implementation 'com.android.support:appcompat-v7:27.1.1' 
implementation 'com.android.support:gridlayout-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.android.support:support-v4:27.1.1' 
implementation 'com.android.support:cardview-v7:27.1.1'
implementation 'com.android.support:recyclerview-v7:27.1.1'
implementation 'com.android.support:support-annotations:27.1.1'

截图:

如果我将依赖项插入app 模块或library 模块,则没有区别。


我的项目级build.gradle文件:

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.3'
    }
}

allprojects {
    repositories {
        jcenter()
        google()
    }
}

我的gradle-wrapper.properties 文件:

#Wed Jul 18 14:24:51 IRDT 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

【问题讨论】:

    标签: android android-support-library gradle-dependencies dependency-resolution


    【解决方案1】:

    google() 存储库需要在 jcenter() 存储库之前列出。我可以通过在allprojects 下交换他们的订单来重现此问题。

    【讨论】:

      【解决方案2】:

      检查您是否将其包含在应用程序 gradle 文件的存储库部分中。

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

      【讨论】:

      • 我不知道发生了什么!用maven { url "https://maven.google.com" } 替换google() 解决了这个问题。现在把它换到后面没有问题!!!还是谢谢。
      【解决方案3】:

      尝试如下:

      buildscript {
          ...
      }
      
      allprojects {
          repositories {
              google()
              //use maven repo
              mavenCentral()
              maven {
                  url 'https://jitpack.io'
              }
      
              jcenter()
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-10-17
        • 2019-03-27
        • 2019-03-29
        • 1970-01-01
        • 2018-11-07
        • 1970-01-01
        • 2018-09-17
        相关资源
        最近更新 更多