繁体   English   中英

Appcompat v7没有进入项目

[英]Appcompat v7 isn't pulled into project

我继承了一个使用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下载的所有东西)正如你在下面的截图中看到的:

外部图书馆

gradle插件是1.0.0,并且在同步期间没有问题。
这类问题是否有任何已知的解决方案?

编辑1:
Android支持存储库
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是部分values.xml在程序兼容性-V7 20.0.0
以下是sdk版本:

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

defaultConfig {
    minSdkVersion 10
    targetSdkVersion 17
}



编辑3:

项目root build.gradle

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

allprojects {
    repositories {
        jcenter()
    }
}


App build.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

我上周遇到了同样的问题并通过以下方式解决了

  1. 打开Android SDK Manager
  2. 滚动“额外”部分的底部
  3. 选中Android支持存储库Android支持库Google存储库

这将为您缺少的库下载缺少的工件/ jar作为本地maven存储库,以便gradle可以找到它们。

您是否尝试使缓存无效并重新启动Android工作室?

我们可以通过两种方式将appcompat添加到我们的项目中,

  1. 在lib文件夹中添加appcompat-v7作为jar文件

- 首先从SDK管理器下载Android支持库。(如果您已下载,则可以跳过此步骤)。

- 重定向到本地SDK路径\\ extras \\ android \\ support \\ v7 \\ appcompat \\ libs \\ android-support-v7-appcompat.jar。 复制此jar文件并将其保存在项目的libs文件夹中。

- 您必须构建项目,现在appcompat-v7 jar文件已添加到您的项目中。

- 请确保您已在build.gradle(Module:app)应用程序文件中添加此注释。 依赖项{compile fileTree(dir:'libs',include:['* .jar']).....}

  1. 添加appcompat-v7作为库依赖项

-File - >项目结构 - >模块下 - >选择应用程序

- 单击依赖项 - >单击右侧顶部的加绿色图标 - >库依赖项 - >从列表中选择appcompat-v7。

- 现在,appcompat-v7作为库添加到项目中。

请试一试。 如果您遇到任何问题,请告诉我。

快乐的编码..谢谢。

我正在研究一个从Eclipse迁移到Android Studio的遗留项目,我遇到了同样的问题。 不管我做了多少次
清洁项目
构建>重建
无效并重新启动
使用gradle文件同步项目
它不适合我,我甚库中添加了支持库作为jar
事实证明,在我的build.gradle文件中有这样的:

configurations {
    all*.exclude group: 'com.android.support'
}

为什么要添加? 我不知道。
删除修复我的问题。 所以大家,如果这样做仍然没有解决你的问题,请在你的gradle文件中查找任何排除关键字。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM