Android项目构建失败,出现“Error retrieving parent for item: No resource found that matches the given name”的错误。

6

我最近安装了一个全新的Android Studio 1.5.1版本。然后我导入了一个之前在另一个版本的Android Studio上构建的项目,并尝试将其加载到IDE中。但是它一直给我报错。

Error:Execution failed for task ':app:processDebugResources'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Users\yomal.ds\AppData\Local\Android\android-sdk\build-tools\21.1.2\aapt.exe'' finished with non-zero exit value 1
C:\Users\yomal.ds\AndroidStudio_Workspace\ClaimAssistant\app\build\intermediates\res\merged\debug\values-v23\values-v23.xml
Error:(3) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'.
Error:(18) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Button.Colored'.

我查看了我的gradle.build文件,就我所能看到的内容而言,看起来没什么问题。

下面是我的gradle.build文件。

apply plugin: 'com.android.application'

android {
compileSdkVersion 22
buildToolsVersion "21.1.2"

defaultConfig {
    applicationId "com.informaticsint.claimassistant"
    minSdkVersion 14
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile files('libs/gcm.jar')
    compile 'com.android.support:appcompat-v7:22.2.1'
    compile 'com.google.android.gms:play-services:8.4.0'
    compile 'com.google.android.gms:play-services-ads:8.4.0'
    compile 'com.google.android.gms:play-services-identity:8.4.0'
    compile 'com.google.android.gms:play-services-gcm:8.4.0'
}

我试图创建一个新项目并将之前的项目源代码添加到新项目中。但是,当我将SDK版本设置为22时,出现了这个错误。
这也发生在我的身上,但是答案没有起作用。 Error retrieving parent for item: No resource found that matches the given name after upgrading to AppCompat v23 我尝试将每个版本的支持库版本从22降级到22.2.1。
但是,当我将项目设置为在SDK 23中编译时,它可以正常工作,但会导致其他问题。这就是当我这样做时会发生什么。 resource error in android studio after update: No Resource Found

你尝试过在更改值后清理项目吗?看起来你正在使用android:TextAppearance.Material.Widget.Button.Inverse,但它并不存在。我建议在项目中搜索并替换它。我猜测之前的机器在他的m2文件夹中缓存了一些东西,这会捕捉到你没有的依赖项。 - Joakim Engstrom
请确保您已下载了Android支持库。 - Joakim Engstrom
我已经检查了Play服务的依赖项,它们依赖于您正在使用的支持库的更新版本。 也许您应该尝试将支持库升级到与Play服务相同的版本,我认为是23.1.1。 - Joakim Engstrom
1
@JoakimEngstrom 我正在尝试使用 Play Services 7.5.0 构建项目。由于某种原因,我的项目外部库已经更新到版本 23 的 support annotations、appcompat-v7 和 support-v4。尽管我已在 gradle 文件中声明我的依赖项要使用版本 22。我注意到当我添加带 + 标记的 play services 依赖项时会发生这种情况,因为它会下载最新版本。所以它可能会将其他依赖项升级到其最高级别。我现在正在尝试显式设置版本为 7.5.0 进行构建。希望能够成功。 - k9yosh
1
@JoakimEngstrom,它起作用了 :) 使用Play服务7.5.0完成了工作。 - k9yosh
显示剩余13条评论
1个回答

9
问题在于,我们在评论中发现了依赖不匹配的问题。
正如问题所示,它是针对22 API版本编译的。支持库必须与编译SDK版本相对应,在这种情况下是正确的。
但是8.4.0 Play服务实际上依赖于23+支持库,由于编译SDK和支持库上的22+版本,它找不到资源。
为了解决这些问题,有两个解决方案:
1. 将Play服务降级到7.4.0 2. 将compileSdk和support-library升级到23版本
调试版本不匹配的最简单方法是运行:
 .gradlew dependencies

在你的应用程序模块中(而不是项目的根目录),因此终端命令将类似于:
 cd app-folder/
 ../gradlew dependencies

然后检查依赖树,看看是否有什么突出的问题。


当我降级 Play Services 后,Android Studio 要求我安装存储库,但似乎无法下载。我不想升级编译版本,因为我正在准备发布我的应用程序,而且我不想处理类错误和 bug 的更改。 - Danfoa
@DanielOrdoñez 你需要的版本是哪个? - k9yosh
一个可行的解决方案 :P,谢谢你,但我最终解决了问题并降级到了7.8,在我的应用程序的下一个更新中,我将更新所有存储库,并保存了你的命,非常感谢你。 - Danfoa
当我将Play Services降级到7.4.0时,它显示“错误:(95, 0)版本:7.4.0低于需要google-services插件的最低版本(9.0.0)。 <a href="openFile:/home/sushant/roadcast-locator/RoadCastLocator/app/build.gradle">打开文件</a> - Sushant Garg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接