当我在 gradle 中设置的是 appcompat v7 版本 22 时,为什么我的项目总是下载 appcompat v7 版本 23?

Why my project always download appcompat v7 version 23 when i setting in gradle is appcompat v7 version 22?

我使用 libgdx 制作游戏,将 BaseGameUltis 导入我的项目并在 gradle 文件中设置为:

compile "com.android.support:appcompat-v7:22.2.+"

但是在文件夹 BaseGameUtils\build\intermediates\exploded-aar\com.android.support\appcompat-v7 中始终是版本 23.0.0 我收到此错误是因为我无法遵守 android 版本 23, BaseGameUltis 与 android 版本 23 不兼容:

BaseGameUtils\build\intermediates\exploded-aar\com.android.support\appcompat-v7.0.0\res\values-v23\values-v23.xml
Error:(2) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'.
Error:(2) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Button.Colored'.

这是我的 gradle 文件:

apply plugin: 'android-library'

repositories {
    mavenCentral()
}

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.0'
    }
}

dependencies {
    compile 'com.android.support:support-v4:20.0.+'
    compile 'com.google.android.gms:play-services:+'
    compile "com.android.support:appcompat-v7:22.2.+"
}

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"
    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 22
    }
    productFlavors {
    }
}

我做错了什么?感谢帮助。

通过删除声明末尾的 加号 (+) 修复对 static version 的依赖,例如 compile"com.android.support:appcompat-v7:22.2.x"`

有关详细信息,请查看 gradle 文档中的 here

你需要用api23编译。
改变你的 build.gradle 这一行:

 compileSdkVersion 23

由于您使用的是

 compile 'com.google.android.gms:play-services:+'

您正在使用最新版本 8.4.0,它具有支持 libraries v23 的依赖项。 这是因为 gradle 使用 v23 而不是 v22.

一般来说,避免在你的 build.gradle 文件中使用 + 是一个好习惯,因为这样你就不知道你使用的是哪个版本您的依赖项,您以后将无法重现您的代码。

也不要使用不同版本的支持库。 在您的情况下,您尝试使用 com.android.support:appcompat-v7:22 和 com.android.support:support-v4:20.

最后,使用 gradle myModule:dependencies 查看模块的完整列表。