我不太了解这个appcompat库,所以如果这不是最聪明的问题,请道歉。
我有一个项目,我遇到了问题。事实证明我将targetSdkVersion设置为23并且因为我想使用21而导致我出现问题所以我将其更改为21。
在我的build.gradle中,我编译了com.android.support:appcompat-v7:23.1.1。
当我尝试构建时,这会导致以下问题:
C:\用户\康纳\文件\编程\ AndroidStudioProjects \ AndroidStudioProjects \ RouteTracker \应用\构建\中间体\分解-AAR \ com.android.support \程序兼容性-V7 \ 23.1.1 \ RES \值-V23 \值-v23.xml
错误:(2)检索项目的父项时出错:找不到与给定名称“android:TextAppearance.Material.Widget.Button.Inverse”匹配的资源。
错误:(2)检索项目的父项时出错:找不到与给定名称“android:Widget.Material.Button.Colored”匹配的资源。 错误:任务':app:processDebugResources'的执行失败。
com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:处理'命令'C:\ Users \ Conor \ AppData \ Local \ Android \ sdk \ build-tools \ 21.0。 0 \ aapt.exe''以非零退出结束
所以我尝试使用com.android.support的appcompat:appcompat-v7:21.1.0(因为它是我唯一可以明确找到的那个),但它也没有用。说它无法找到并告诉我使用最新版本,即23.1.1。
我应该使用23.1.1吗?如果是这样,任何想法,这些错误是什么?
答案 0 :(得分:3)
错误:(2)检索项目的父项时出错:找不到与给定名称匹配的资源' android:TextAppearance.Material.Widget.Button.Inverse'。
之所以发生这种情况,是因为您使用的支持库 v23 需要使用API 23编译。
更改build.gradle
这一行:
compileSdkVersion 23
您可以使用其他版本的支持库,但是:
这里有完整列表:
//it requires compileSdkVersion 23
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:appcompat-v7:23.0.0'
//it requires compileSdkVersion 22
compile 'com.android.support:appcompat-v7:22.2.1'
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.android.support:appcompat-v7:22.1.1'
compile 'com.android.support:appcompat-v7:22.1.0'
compile 'com.android.support:appcompat-v7:22.0.0'
//it requires compileSdkVersion 21
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.android.support:appcompat-v7:21.0.2'
compile 'com.android.support:appcompat-v7:21.0.0'
答案 1 :(得分:0)
没有。 AppCompat最新更新删除了一些旧的依赖项。这仅适用于v23。因此,您必须使用targetSdkVersion 23.(marshmallow)更新您的代码。
答案 2 :(得分:0)
您已获得解决方案但问题的答案“我是否可以使用最新版本的appcompat库以及针对sdk 21的项目”,如下所示。项目lib应与'compileSdkVersion'兼容;不一定与targetSdkVersion。理想情况下,您的compileSdkVersion& targetSdkVersion将是相同的,但如果您的要求是针对较低的targetSdkVersion,那么您可以将其保持低于compileSdkVersion。