我继承了一个使用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
是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()
}
}
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
}
}
答案 0 :(得分:1)
我阅读了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 :(得分:0)
我上周遇到了同样的问题并通过以下方式解决了这个问题:
这将为您缺少的库下载缺少的工件/ jar作为本地maven存储库,以便gradle可以找到它们。
答案 2 :(得分:0)
您是否尝试使缓存无效并重新启动Android工作室?
答案 3 :(得分:0)
我们可以通过两种方式将appcompat添加到我们的项目中,
- 首先从SDK管理器下载Android支持库。(如果您已下载,可以跳过此步骤。)
- 重定向到本地SDK路径\ extras \ android \ support \ v7 \ appcompat \ libs \ android-support-v7-appcompat.jar。复制这个jar文件&将它保存在项目的libs文件夹中。
- 您必须构建项目,现在appcompat-v7 jar文件已添加到您的项目中。
- 确保您已在build.gradle(Module:app)应用程序文件中添加此评论。 依赖{ 编译fileTree(dir:' libs',include:[' * .jar']) ..... }
-File - >项目结构 - >在模块下 - >选择应用
- 点击依赖关系 - >点击右侧顶部的加绿色图标 - >库依赖 - >从列表中选择appcompat-v7。
- 现在appcompat-v7作为库添加到您的项目中。
请试一试。如果您遇到任何问题,请告诉我。
快乐编码.. 谢谢。
答案 4 :(得分:0)
我正在开发一个从Eclipse迁移到Android Studio的遗留项目,我遇到了同样的问题。无论我做多少次
清洁工程建设>重建
无效和重新启动
使用gradle文件同步项目
它对我不起作用,我甚至在中添加支持库作为jar libs
在我的 build.gradle 文件中有这样的结果:
configurations {
all*.exclude group: 'com.android.support'
}
为什么要添加?我不知道。
删除修复我的问题。所以大家,如果这样做仍然没有解决您的问题,请在您的gradle文件中查找任何排除关键字。