【问题标题】:failed to resolve com.android.support:appcompat-v7:22 and com.android.support:recyclerview-v7:21.1.2无法解析 com.android.support:appcompat-v7:22 和 com.android.support:recyclerview-v7:21.1.2
【发布时间】:2015-05-30 19:26:51
【问题描述】:

我安装了 ALL ExtraSDK API 21-22 包括更改

compileSdkVersion 22 to 21buildToolsVersion '22.0.1' to 21.1.2

我遇到了API 22 的渲染问题。 我已尝试将版本更改为

【问题讨论】:

标签: android rendering android-appcompat


【解决方案1】:

这些是您可以根据 API 需要添加到 build.gradle 中的正确版本。

API 24:

implementation 'com.android.support:appcompat-v7:24.2.1'
implementation 'com.android.support:recyclerview-v7:24.2.1'

API 25:

implementation 'com.android.support:appcompat-v7:25.4.0'
implementation 'com.android.support:recyclerview-v7:25.4.0'

API 26:

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

API 27:

implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:recyclerview-v7:27.1.1'

【讨论】:

  • 有没有可以看到不同版本的安卓资源?
  • @powder366 你可以查看SDK Manager中的版本。
  • @powder366 请看下面我的回答,如何确定可用的支持库版本
  • appcompat-v7 23.3.0 可用。
  • 在进行此操作之前,请确保按照其他答案中的建议安装了 Android Support Reporistory。
【解决方案2】:

为了让它工作,我必须设置:

compile ("com.android.support:support-v4:22.2.0")
compile ("com.android.support:appcompat-v7:22.2.0")
compile ("com.android.support:support-annotations:22.2.0")
compile ("com.android.support:recyclerview-v7:22.2.0")
compile ("com.android.support:design:22.2.0")

编译(“com.android.support:design:22.2.0”)

文档说明了一些不同的内容 (docs):

com.android.support:support-design:22.0.0

【讨论】:

    【解决方案3】:

    支持存储库的真实路径:

    1. 您应该下载支持存储库。

    如果问题仍然存在:

    1. 转到您的支持存储库的真实路径并检查以下文件夹是否存在:

      "ANDROID_SDK_DIRECTORY\extras\android\m2repository\com\android\support" 
      

      在该文件夹中有找不到的支持库。 例如:

      "ANDROID_SDK_DIRECTORY\extras\android\m2repository\com\android\support\appcompat-v7"
      
    2. 打开文件夹appcompat-v7,您会看到包含所有可用版本的文件夹。您应该在 build.gradle 文件依赖项中仅使用这些版本之一,或者使用 +,例如。 18.0.+

      dependencies {
          compile fileTree(dir: 'libs', include: ['*.jar'])
          compile 'com.android.support:appcompat-v7:18.0.+'
          compile 'com.android.support:gridlayout-v7:23.1.1'
          compile 'com.android.support:support-v4:23.1.1'
      }
      

    这是取自grade.build依赖文件的路径:

    com.android.support:appcompat-v7:18.0.0
    

    参考你硬盘上的真实路径 -->

    ANDROID_SDK_DIRECTORY\extras\android\m2repository\com\android\support\appcompat-v7\18.0.0
    

    如果没有这样的文件夹,你会收到错误:

    "failed to resolve com.android.support:appcompat-v7:18.0.0"  
    

    p.s.如果你是Windows x64,在安装sdk和jdk时,请确保安装路径没有Program Files(86)。添加 Windows 的括号可能会导致解决项目路径的其他问题。为您的安装文件夹使用简单的路径。

    例如:

    c:\androidSDK\
    

    【讨论】:

    • 我没有任何此类文件夹,因此收到您提到的错误:“无法解决...”。从这里开始,我该如何解决这个问题?有什么想法吗?
    【解决方案4】:

    找不到:com.android.support:appcompat-v7:22.0.0

    “我真的尝试了其他所有方法”的答案:

    如果您没有最新的 Android 支持库和 Android 支持存储库,也会出现此问题。只需使用 SDK 管理器安装即可。

    【讨论】:

    • 并不是说其他​​答案不正确,但对我来说问题是我们的构建机器没有更新的支持库。
    • 当然不是。但是当你用谷歌搜索这个错误并且你尝试了编译的每一个变体并且没有任何工作时,这通常是罪魁祸首,而且你自己找出来并不完全明显。很高兴它有帮助!
    【解决方案5】:

    除了提供的其他解决方案外,请确保在 project/build.gradle 中包含以下内容

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

    【讨论】:

      【解决方案6】:

      在支持库中,您总是需要添加三个数字作为版本号

      假设为 22 -> 您需要将其写为 22.0.0,而不仅仅是 22

      对于 22.1 -> 22.1.0

      所以你的依赖应该是这样的

      compile 'com.android.support:appcompat-v7:22.0.0'
      compile 'com.android.support:support-v4:22.0.0'
      compile 'com.android.support:cardview-v7:22.0.0'
      compile 'com.android.support:recyclerview-v7:22.0.0'
      

      I 程序员语言,您需要填充额外的零。

      希望这能解决你的问题

      【讨论】:

      • "当您使用“21.1.2”时出现错误,因为您已经将支持库更新到 22.0.0。所以 21.1.2 不再存在。"那太不真实了。更新库并不意味着您不能使用旧版本
      【解决方案7】:

      我解决了

      将 22.0.0 更改为 21.0.3

      dependencies {
      
       compile fileTree(dir: 'libs', include: ['*.jar'])
      
      //compile 'com.android.support:appcompat-v7:22.0.0'
      
      compile 'com.android.support:appcompat-v7:21.0.3'  }
      

      也许我已经下载了com.android.support:appcompat-v7:21.0.3,但没有得到compile 'com.android.support:appcompat-v7:22.0.0'

      当我使用 SDK Manager 更新我的 support librarysupport repository 时,问题消失了。

      【讨论】:

        【解决方案8】:

        注意1:所有com.android.support 库必须使用完全相同的版本规范(混合版本可能导致运行时崩溃)。

        NOTE2:支持库不应使用与 compileSdkVersion 不同的版本

        对于 API 28,您可以使用:

        implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
        implementation 'com.android.support:recyclerview-v7:28.0.0-alpha1'
        

        https://mvnrepository.com/artifact/com.android.support/appcompat-v7/28.0.0-alpha1 https://mvnrepository.com/artifact/com.android.support/recyclerview-v7/28.0.0-alpha1

        所有支持库:https://mvnrepository.com/artifact/com.android.support

        【讨论】:

          【解决方案9】:

          在版本号中使用“+”符号更方便。例如

          compile 'com.android.support:support-v4:22.0.+'
          compile "com.android.support:appcompat-v7:22.0.+"
          

          在这种情况下,您不必更改相同 API 编号的版本

          【讨论】:

          • 永远不要使用+号,它会导致不可预知的行为,除非你绝对确定
          • 我在 Android 开发者文档的几个主题中看到在 build.gradle 文件中使用了“+”。比如link1或者link2等(需要滚动页面才能看到)。没有提到任何问题,我也从未遇到过任何问题。但如果你这样做了,添加一些带有问题描述的链接会很有帮助。
          • 如果您使用 + 您的构建具有动态行为,您将无法确定哪个版本会得到解决。外部更改可能会导致错误。
          【解决方案10】:

          转到 Messages Gradle Sync,然后单击 Install Repository and sync project。这将在 Android SDK 中安装所需的文件,同步后您将能够创建 gradle 或运行您的项目。

          【讨论】:

            【解决方案11】:

            您要导入它们吗?像这样:

            compile 'com.android.support:appcompat-v7:21.0.3'
            compile 'com.android.support:recyclerview-v7:21.0.3'
            

            【讨论】:

              【解决方案12】:
              compile ("com.android.support:support-v4:22.2.0")
              compile ("com.android.support:appcompat-v7:22.2.0")
              compile ("com.android.support:support-annotations:22.2.0")
              compile ("com.android.support:recyclerview-v7:22.2.0")
              compile ("com.android.support:design:22.2.0")
              

              将上述代码粘贴到您的应用程序 gradle 中。

              在设置项目时选择空活动而不是空白活动。

              【讨论】:

                【解决方案13】:

                通过更改这些解决了我的问题

                compile 'com.android.support:cardview-v7:21.0.+'
                compile 'com.android.support:recyclerview-v7:21.0.+'
                

                compile 'com.android.support:cardview-v7:23.0.+'
                compile 'com.android.support:recyclerview-v7:23.0.+'
                

                这意味着您的目标 SDK 版本应该与 cardView 和 recyclerView 以及其他谷歌库的版本相同。

                targetSdkVersion 23
                

                【讨论】:

                  【解决方案14】:

                  工具 > Android > SDK 管理器

                  选择所有不是最新的包并更新它们。

                  【讨论】:

                    【解决方案15】:

                    我在 build.gradle 中有这样的依赖 -

                    compile 'com.android.support:recyclerview-v7:+'
                    

                    但它会导致构建不稳定。确保它适合您,并在您的 android sdk 管理器中查看当前可用的支持库版本,并将此依赖项替换为

                    def final RECYCLER_VIEW_VER = '23.1.1'
                    compile "com.android.support:recyclerview-v7:${RECYCLER_VIEW_VER}"
                    

                    【讨论】:

                      【解决方案16】:

                      我解决了从 Android SDK Manager 更新所有软件包的问题,​​而且我必须安装 Extras -> Android Support Repository

                      【讨论】:

                        【解决方案17】:
                        allprojects {
                            repositories {
                                google()
                                jcenter()
                                maven {
                                    url "https://maven.google.com"
                                }
                            }
                        }
                        

                        【讨论】:

                        • 重复的答案。请参阅上面的 Ashraf Alshahawy 的回答
                        • @MoZaatar 这不是重复的答案我想表明,如果您将 google() 行放在下面,那么也会发生此错误,因此请像我的回答一样将所有行放在首位。我不是复制任何人的答案。
                        • @MoZaatar 如果这些答案有 google() 行,那么我选择编辑或评论。为什么我应该给出一个新答案。我以这种方式解决了这个问题,所以我提出了答案。
                        猜你喜欢
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 2018-01-03
                        • 2017-01-04
                        • 2017-01-23
                        相关资源
                        最近更新 更多