【问题标题】:Failed to resolve: com.android.support:cardview-v7:26.0.0 android无法解决:com.android.support:cardview-v7:26.0.0 android
【发布时间】:2017-12-19 13:41:21
【问题描述】:

我尝试将 recyclerview 添加到我的项目并出现此错误,我从 android studio 依赖项中添加了它

【问题讨论】:

  • 改变你的依赖 compile "com.android.support:cardview-v7:25.3.1 android" compile "com.android.support:recyclerview-v7:25.3.1 android"
  • 点击链接。安装它们
  • 从版本 26 的支持库开始,你应该添加到你的 buildscript 依赖 maven { url https://maven.google.com },阅读 here
  • 感谢它对我的帮助,我发布了有问题的解决方案
  • @ahmedkhattab 您能否突出显示您的解决方案?升级到支持库 26 后,您添加了什么来解决问题?

标签: android android-recyclerview android-gradle-plugin android-support-library


【解决方案1】:

从版本 26 的支持库开始,确保 repositories 部分包含一个带有“https://maven.google.com”端点的 maven 部分。

类似的东西;

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

【讨论】:

  • 为什么这不包含在默认模板中?这是我第一次进入android studio,我怎么知道这个?我想现在我知道怎么做了,但这花了我很多时间
  • 另外,它不起作用。我将此添加到我的repositories,但仍然收到“错误:无法解决:com.android.support:appcompat-v7:26.1.0”。我最近有没有提到我鄙视 gradle?
  • @String 是否有充分的理由否决答案?检查您是在 buildscript 块中添加还是在外部的存储库中添加。
  • 我很抱歉,并且 mea culpa - 我确实在 buildscript 块中有它。非常感谢您指出我看不到的方向。我为投反对票道歉;经过数小时的与这个(和其他事情 gradle)的斗争,我的挫败感达到了顶峰,但这不是你的错。
  • 虽然我在 android studio 3.0 中添加了 google(),但这个 bug 仍然存在
【解决方案2】:

这就是我的工作方式。

  1. 按照上面@Gabriele_Mariotti 的建议添加maven { url "https://maven.google.com" }

    allprojects {
        repositories {
            jcenter()
            maven {
                url "https://maven.google.com"
            }
        }
    }
    
  2. 然后在App文件夹内的build.gradle文件上添加

    compileSdkVersion 26
    buildToolsVersion "25.0.3"
    defaultConfig {
        applicationId "com.xxx.yyy"
        minSdkVersion 16
        targetSdkVersion 26
    }
    
  3. 然后在依赖上使用

    dependencies {
        compile 'com.android.support:appcompat-v7:26.0.1'
        compile 'com.android.support:design:26.0.1'
        compile 'com.google.android.gms:play-services-maps:11.0.4'
        compile 'com.google.android.gms:play-services-location:11.0.4'
        compile 'com.mcxiaoke.volley:library-aar:1.0.0'
        compile 'com.android.support:cardview-v7:26.0.1'
    }
    

【讨论】:

    【解决方案3】:

    如果您使用的是 Android Studio 3.0 或更高版本,请确保您的项目 build.gradle 的内容应类似于-

    buildscript {                 
        repositories {
            google()  // add google() before jcenter()
            jcenter()
        }
        dependencies {            
            classpath 'com.android.tools.build:gradle:3.0.1'
    
        }
    }
    
    allprojects {
        repositories {
            google()  // add google() before jcenter()
            jcenter()
        }
    }
    

    对于低于 Android Studio 3.0 并从 支持库 26.+ 开始,您的项目 build.gradle 必须如下所示-

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

    注意- 位置真的很重要,在 jcenter()

    之前添加 google()

    查看以下链接了解更多详情-

    1- Building Android Apps

    2- Add Build Dependencies

    3- Configure Your Build

    【讨论】:

    • 这是救命稻草,谢谢
    【解决方案4】:

    只需将其添加到所有项目级别的主要 build.gradle 文件中的 allprojects()

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

    【讨论】:

      【解决方案5】:

      我在更新 SDK 和 Android Studio 版本(3.0 beta)时遇到了同样的问题。我已经通过this tutorial. 解决了这个问题,他们告诉我们更新的是构建配置文件,如

      android {
         compileSdkVersion 26
         buildToolsVersion '26.0.0'
         defaultConfig {
         targetSdkVersion 26
        }
        ...
      }
      
      dependencies {
         compile 'com.android.support:appcompat-v7:26.0.0'
      }
      
      // REQUIRED: Google's new Maven repo is required for the latest
      // support library that is compatible with Android 8.0
      repositories {
         maven {
             url 'https://maven.google.com'
             // Alternative URL is 'https://dl.google.com/dl/android/maven2/'
         }
      }
      

      希望对你有所帮助。

      【讨论】:

        【解决方案6】:

        在可能的情况下,我发现 OneSignal 改变了它们的依赖关系

        所以我把它改成了

        compile 'com.onesignal:OneSignal:[3.5.8, 3.99.99]'

        compile 'com.onesignal:OneSignal:[3.5.8, 3.5.8]'

        然后它可以工作,请检查任何不特定的依赖项。

        【讨论】:

          【解决方案7】:

          将此添加到项目级别的 build.gradle 文件中,它应该可以正常工作。

          allprojects {
              repositories {
                  google() // this is to be added if there's something already.
                  jcenter()
              }
          }
          

          【讨论】:

            【解决方案8】:

            与 Android 8.0 兼容的最新支持库需要 Google 的新 Maven 存储库。 只需更新您的 Google 的 Maven 存储库,如下所示:

            要将它们添加到您的构建中,请将 maven.google.com 添加到模块级 build.gradle 文件中的 Maven 存储库中:

            repositories {
                maven {
                    url 'https://maven.google.com'
                    // Alternative URL is 'https://dl.google.com/dl/android/maven2/'
                }
            }
            

            您也可以像这样更新build.gradle 文件:

                repositories {
                    jcenter()
                    google()
                }
            

            然后将所需的库添加到您的依赖项块中。例如,cardview 库如下所示:

            dependencies {
                compile 'com.android.support:cardview-v7:26.1.0'
            }
            

            【讨论】:

              【解决方案9】:

              在 SDK 28 中 你可以使用

              implementation 'com.android.support:design:28.0.0'
              

              并删除 cardView 库

              【讨论】:

                【解决方案10】:

                从 sdk 管理器更新您的 Android 支持存储库。

                【讨论】:

                  【解决方案11】:

                  还有另一种添加谷歌存储库的方法

                  1. 在 gradle-wrapper.properties 中添加 gradle-4.1-rc-1-all

                    distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-rc-1-all.zip
                    
                  2. 然后在顶层build.gradle中添加google()

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

                  【讨论】:

                    【解决方案12】:

                    只需将构建版本从 编译'com.android.support:appcompat-v7:26.0.0'

                    编译'com.android.support:appcompat-v7:26.0.0-alpha1'

                    这将解决您的问题。

                    【讨论】:

                      【解决方案13】:

                      如果此处的其他解决方案不起作用,请确保您未处于“离线”模式。如果启用,android 将不会下载所需的文件,您将收到此错误。

                      【讨论】:

                        【解决方案14】:

                        尝试编译

                         compile 'com.android.support:cardview-v7:25.3.1'
                        

                        【讨论】:

                          【解决方案15】:

                          从终端清理你的 gradle

                          ./gradlew clean
                          

                          然后在您的 build.gradle 部分中使用此代码

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

                          确保您包含的库版本可用。为了您的检查,您可以使用这个link

                          【讨论】:

                            【解决方案16】:

                            我在使用 Kotlin 在 Android Studio 中创建新项目时遇到了这个问题。最终帮助我的方式:

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

                            【讨论】:

                              【解决方案17】:

                              Ionic 4,打开/platforms/android/platform.properties,将引发错误的列出库的版本(在我的情况下为com.android.support:support-v4:27.+)更改为:

                              com.android.support:support-v4:28.+
                              

                              【讨论】:

                                【解决方案18】:

                                使用compile 'com.android.support:cardview-v7:25.4.0'
                                如果你想要版本 26,你应该使用compile 'com.android.support:cardview-v7:26.0.0-beta2',因为它现在是测试版

                                【讨论】:

                                  【解决方案19】:
                                  android {
                                       compileSdkVersion 26
                                       buildToolsVersion '26.0.2'
                                       useLibrary 'org.apache.http.legacy'
                                   defaultConfig {
                                      applicationId "com.test"
                                      minSdkVersion 15
                                      targetSdkVersion 26
                                      versionCode 1
                                      versionName "1.0"
                                      testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
                                      multiDexEnabled true
                                  }
                                  

                                  这对我有用

                                  【讨论】:

                                    【解决方案20】:
                                    compile 'com.android.support:cardview-v7:+' 
                                    

                                    这应该会拉取最新版本,并允许它编译。

                                    【讨论】:

                                    • 你不应该在 android gradle 文件中使用加号,因为它会使构建不确定。
                                    • 很高兴知道!感谢您的反馈和更正。
                                    【解决方案21】:

                                    试试这个,

                                    goto Android->sdk 确保您拥有所需的所有依赖项。如果没有,请下载它们。然后转到 File-->Settigs-->Build,Execution,Depoyment-->Gradle

                                    选择使用默认的gradle wapper(推荐)

                                    并取消勾选离线工作

                                    一旦您可以更改设置,gradle 构建就会成功完成

                                    【讨论】:

                                      【解决方案22】:

                                      这个问题可能是由于 facebook 库造成的。 替换

                                      compile 'com.facebook.android:facebook-android-sdk:[4,5)'
                                      

                                      compile 'com.facebook.android:facebook-android-sdk:4.26.0'
                                      

                                      【讨论】:

                                        【解决方案23】:

                                        【讨论】:

                                          【解决方案24】:

                                          解决此问题的 2 个步骤.. 1、连接互联网。 2、点击清理项目。这将解决它 :)

                                          【讨论】:

                                            【解决方案25】:

                                            对我来说,我只需要清理我的项目。

                                            构建 -> 清理项目

                                            还有一次我不得不这样做:

                                            文件 -> 将项目与 Gradle 文件同步。

                                            【讨论】:

                                              【解决方案26】:

                                              当你把这个依赖同步到android studio时:

                                               implementation 'com.android.support:cardview-v7:26.0.1-alpha1'
                                              

                                              然后,将 Gradle 与项目文件同步。 它会说,(假设你正在开发像 androidx 这样的新产品)显然,它会在依赖项上显示错误。

                                              为此,您可以转到文件菜单并单击使代码无效/重新启动。它将自行解决,应用程序将重新启动而不会出现任何错误。

                                              【讨论】:

                                                猜你喜欢
                                                • 1970-01-01
                                                • 2018-01-03
                                                • 1970-01-01
                                                • 2017-01-07
                                                • 1970-01-01
                                                • 1970-01-01
                                                • 1970-01-01
                                                • 1970-01-01
                                                相关资源
                                                最近更新 更多