[英]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
我上周遇到了同样的问题并通过以下方式解决了
这将为您缺少的库下载缺少的工件/ jar作为本地maven存储库,以便gradle可以找到它们。
您是否尝试使缓存无效并重新启动Android工作室?
我们可以通过两种方式将appcompat添加到我们的项目中,
- 首先从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']).....}
-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.