我一直用Eclipse编程Android,并决定开始迁移到Android Studio . 我决定使用我已经用于Eclipse的相同SDK,然后:
-
开始了一个新项目
-
设置最低SDK 4.0(API级别14)
-
选择空白活动选项
-
已使用活动名称和布局名称的默认名称
-
点击完成
几秒钟后,Gradle完成了构建,它在文件Teste4 \ app \ build \ intermediates / explosion-aar \ com.android.support \ appcompat-v7 \ 23.0.0 \ res \ values中抛出了以下消息的两个错误-v23 \ Value 观v23.xml:
错误:(2)检索项目的父项时出错:找不到与给定名称“android:TextAppearance.Material.Widget.Button.Inverse”匹配的资源 . 错误:(2)检索项目的父项时出错:找不到与给定名称“android:Widget.Material.Button.Colored”匹配的资源 .
在文件 - >项目结构 - >模块:应用程序(左列) - >属性选项卡下,我设置了以下版本:
-
"Compile Sdk Version":Android 5.1(API级别22)
-
"Build Tools Version":23.0.2
我该怎么做才能解决这个问题?
我已经尝试过Stack Overflow问题appcompat-v7:21.0.0': No resource found that matches the given name: attr 'android:actionModeShareDrawable'中的建议,但它没有用 .
24 回答
确保所有这些都是最新的 .
When you update your Android Studio, it uses API version 23 by default, which is the main reason of its occurrence. So,
首先,检查build.gradle中的AppCompat版本(模块:app)即
如果更改为23后出现错误,则只需下载
Compile Sdk Version to API 23, and Build Tools Version to 23.0.0
来自SDK Manager . 如果已下载,则:
单击SDK Manager按钮并打开对话框 .
单击SDK Platform并检查是否已下载Android 6.0 .
如果没有,那么先下载 . 完成下载后,单击“应用” .
现在,您需要从设置中对项目应用更改 . 然后按 Ctrl + Alt + Shift + S 打开设置
点击列表中的应用 .
单击属性
将Compile SDK版本更改为API 23
将Build Tools版本更改为23.0.0
不要忘记重建您的项目 .
然后你的错误就会消失 .
您应该使用最新版本编译项目,以便从SDK更新和安装 . 使用
sync project with Gradle file
Button同步项目 .您也可以继续使用现有版本,但检查它是否正确安装在图像下方,表示已正确安装的API 22 .
并根据需要同步您的项目 .
它可能有所帮助 .
我遇到了同样的问题 . 我通过将每个子模块的gradle.build更新为最新的编译器版本来解决我的问题 .
如果您尝试将目标更改为以前的GooglePlayServices或AppCompatv7版本并且它不起作用,请检查您是否有任何项目库依赖项,此项目将针对任何这些库的最新版本 . Google Maps Utils Library项目发生在我身上:
更换:
至
然后,您可以继续完全定位API 22
如果它仍然没有编译,有时将compileSdkVersion API设置为23并将targetSdkVersion设置为22是有用的 .
如果您在下载最新的SDK和Android Studio后遇到错误,我就是这样做的:
下载最新的SDK
打开文件 - 项目结构(Ctrl Alt Shift S)
在模块中,选择应用程序
在属性选项卡中:将编译SDK版本更改为API 23 Android 6.0 marshmallow(最新)
我希望它可以帮助某些人,这样他就不会像我这样做几天那样受苦 .
正如其他人已经提到的,您的编译sdk版本必须与您的支持库的主要版本相匹配 . 但是,如果您有子项目,这也与子项目相关 . 如果您这样做,您可以使用以下脚本设置子项目的compile sdk版本:
}
在根
build.gradle
文件中添加此脚本 .升级Android Studio .
我在Android Studio 1.3.1中遇到过这个问题,其他答案都没有对我有用,但在更新到1.5.1之后没有任何问题 .
您需要将compileSdkVersion设置为23 .
由于API 23 Android删除了已弃用的Apache Http软件包,因此如果您将它们用于服务器请求,则需要将useLibrary
'org.apache.http.legacy'
添加到build.gradle
,如此链接中所述:另一个解决方案:导航到
打开带有7-zip或winrar的
.aar
文件,在res文件夹中删除values-23
文件夹并保存更改 .一切都很棒,但没有人解释在哪里下载SDK构建工具
This issue is raised because now the compile SDK version must match the Android Support library's major version.
在我的情况下,我有
Android Support Library
版本23,所以我必须编译反对Android SDK version 23
,我不得不在我的build.gradle
文件中更改:好吧你们中的一些人需要安装SDK,
Android 6.0 (API 23)
别忘了 Sync project with gradle files
在模块:app(Gradle)
项目:nameAppXXXX(Gradle)
并将您的AppCompatActivity活动编辑为例如Activity:
正如Tanis.7x所指出的那样支持库版本(23)与targetSdkVersion(22)不匹配
您可以通过执行以下操作来解决此问题:
在应用模块的
build.grade
文件中,更改以下代码行至
这将使用与SdkVersion 22兼容的最新版appcompat版本 .
就我而言,它是更高版本的Google-play-services . 我将它们设置为7.0.0(而不是8.x),一切正常 .
如果您正在使用phonegap(跨平台)并遇到上述相同问题,请使用以下命令删除android平台 .
phonegap platform remove android
然后再添加一次 .
phonegap platform add android
然后问题解决了我 .
我同意之前的回答 . 您的编译SDK版本必须与支持库匹配 . 这就是我做的 .
您可以转到SDK Manager并在SDK Platform下安装API级别为23的Android 5.X .
在项目结构下,将编译SDK版本更改为API 23,将构建工具版本更改为23.0.0
那么它应该没有问题 .
您的编译SDK版本必须与支持库主要版本匹配 . 这是您的问题的解决方案 . 您可以在
build.gradle
文件中的Gradle脚本中轻松查看 . Fx:如果你的compileSdkVersion
是23,你的编译库必须从23开始 .并始终检查您的Android Studoi是否具有支持的API级别 . 您可以在Android SDK中查看,如下所示:
这对我有所帮助:Adding specific android platform
应该做的是以下......在我的情况下它是
cordova
但是ionic
,phonegap
和其他类似框架相同:列出为项目安装的所有平台:
cordova platform list
. 你会看到这样的事情:删除android平台:
cordova platform remove android
.然后添加具体的android平台:
cordova platform add android@5.0.0
.祝好运! :)
我想从API 23降级到22并得到此错误 . 我必须更改项目中的所有
build.gradle
文件才能进行编译 .我找到了解决方案,问题在我更新sdk时启动,之后我使用了不同的 buildToolsVersion ('22.0.1') 并且我使用了不同的 support 库,如 compile 'com.android.support:appcompat-v7:23.0.0' ,显示在下面的图片中
这引起了“ android.widget.Material ...”的问题然后我使用相同版本的支持库,如 compile 'com.android.support:appcompat-v7:22.0.1' 及其完成 . (在下面的屏幕截图中显示)
您的编译SDK版本必须与支持库的主要版本匹配 .
由于您使用的是支持库的第23版,因此需要针对Android SDK的第23版进行编译 .
或者,您可以通过切换到最新的支持库v22继续针对Android SDK的第22版进行编译 .
发生这种情况是因为更新后Android Studio默认使用 API version 23 .
以下对我有用:
按Ctrl Shift Alt S进入项目结构页面 . 转到属性选项卡,然后在构建工具区域中将 23.0.0 更改为 22.0.1 (或等同于您之前使用的内容)并重建项目 .
如果这不起作用,请转到 gradle:app 然后
如上所示编辑 v7:23.0.0 至 v7:22.2.1 并同步gradle . 这肯定会奏效 .