android - Appcompat v7 未纳入项目

标签 android gradle android-gradle-plugin build.gradle android-appcompat

我继承了一个使用 appcompat-v7:20.0.0 的项目
我无法构建该项目,因为似乎 gradle 在同步/构建时不包含 appcompat 库。

我在 build.gradle 中的依赖:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:20.0.0'
    compile 'com.nineoldandroids:library:2.4.0'
    compile 'com.google.android.gms:play-services:+'
}

该项目也没有播放服务,但有九个旧机器人(我尝试包括不同的库,似乎从 jcenter 下载了所有内容)正如您在以下屏幕截图中看到的:

external libraries

gradle插件是1.0.0,同步时没有问题。
是否有针对此类问题的已知解决方案?

编辑 1:
Android 支持库
安卓支持库
Google Play 服务
都安装好了。但是它也适用于新创建的项目。

编辑 2:

./gradlew build 输出:

Caused by: org.gradle.internal.UncheckedException: com.android.ide.common.internal.LoggedErrorException: Failed to run command:
/Users/stephan/Library/Android/sdk/build-tools/20.0.0/aapt package -f --no-crunch -I /Users/stephan/Library/Android/sdk/platforms/android-21/android.jar -M /Users/project-path/build/intermediates/manifests/full/flavor/beta/AndroidManifest.xml -S /Users/project-path/build/intermediates/res/flavor/beta -A /Users/project-path/build/intermediates/assets/flavor/beta -m -J /Users/project-path/build/generated/source/r/flavor/beta -F /Users/project-path/build/intermediates/res/resources-flavor-beta.ap_ --debug-mode --custom-package de.my.project -0 apk --output-text-symbols /Users/project-path/build/intermediates/symbols/flavor/beta
Error Code:
1
Output:
/Users/project-path/build/intermediates/res/flavor/beta/values/values.xml:2127: error: Error retrieving parent for item: No resource found that matches the given name 'Widget.AppCompat.Light.Base.Spinner'.
/Users/project-path/build/intermediates/res/flavor/beta/values-v16/values.xml:89: error: Error retrieving parent for item: No resource found that matches the given name 'Widget.AppCompat.Light.Base.Spinner'.

我还检查了 Widget.AppCompat.Light.Base.Spinner 是 appcompat-v7 20.0.0 中 values.xml 的一部分
以下是 SDK 版本:

compileSdkVersion "Google Inc.:Google APIs:21"
buildToolsVersion "20.0.0"

defaultConfig {
    minSdkVersion 10
    targetSdkVersion 17
}



编辑 3:

项目根目录build.gradle

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

allprojects {
    repositories {
        jcenter()
    }
}


应用构建.gradle

apply plugin: 'com.android.application'

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    compile 'com.android.support:appcompat-v7:20.0.0'
    compile 'com.nineoldandroids:library:2.4.0'
    compile 'com.google.android.gms:play-services:+'

}

android {
    compileSdkVersion "Google Inc.:Google APIs:21"
    buildToolsVersion "20.0.0"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 17
    }

    packagingOptions {
        exclude 'META-INF/LICENSE.txt'
    }

    signingConfigs {
        conf1 {
            storeFile file("path")
            storePassword ""
            keyAlias ""
            keyPassword ""
        }

        debug {
            storeFile file("path")
            storePassword ""
            keyAlias ""
            keyPassword ""
        }
    }

    buildTypes {
        debug {
            zipAlignEnabled true
            minifyEnabled false
            proguardFile getDefaultProguardFile('proguard-android.txt')
            proguardFile 'proguard-project.txt'
            signingConfig signingConfigs.debug
        }

        release {
            zipAlignEnabled true
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt')
            proguardFiles 'proguard-rules.pro'
        }

        beta {
            initWith debug
            signingConfig signingConfigs.debug
        }
    }

    productFlavors {
        flavor1 {
            applicationId "de.package"
            versionCode 1
            versionName "1.0"
            signingConfig signingConfigs.conf1
        }
    }


    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }
}

最佳答案

我阅读了 Android appcompat 库的文档,它说这个库依赖于 v4 支持库,所以你需要在你的项目中包含它这是链接:https://developer.android.com/tools/support-library/features.html

你只需要在build.gradle文件中更改依赖,添加下面一行
compile 'com.android.support:support-v4:22.2.1' 如果需要,您可以更改版本 (22.2.1) 并放入版本 20.0.0

关于android - Appcompat v7 未纳入项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31699394/

相关文章:

java - X 不活动量后如何锁定用户?

android - 使用 Couchbase Lite 构建 Android 项目的 Jenkins 资源丢失错误

jar - 在 gradle.build 中使用 fatjar 插件时如何指定主类

gradle - Gradle 项目中的 .kts 脚本

android - 使用 Gradle 在 Android 项目中混合使用 Java+Scala 的最简单方法是什么?

android - 将负值设置到水平条形图中条形的左侧

android - 如何创建启动 Activity ,通过按钮调用第二个 Activity ,简单的数据表单 5 个字段和 2 个按钮

android - 如何将 Android 支持存储库添加到 Android Studio?

android - Gradle : 'buildTypes' cannot be applied to groovy. lang.关闭

android - 移动 A/B 测试