在styles_base.xml文件错误 – android应用程序 – 找不到匹配给定名称的资源'android:Widget.Material.ActionButton'

好的,所以即时通讯在Android开发初学者,我刚刚创build了世界的应用程序。 但它给了我appcompat_v7库的styles_base.xml文件中的错误。

错误:检索项的父项时出错:找不到与给定名称“android:Widget.Material.ActionButton”匹配的资源。 styles_base.xml / appcompat_v7 / res / values-v21
AAPT问题

我如何照顾这个错误? 另外为什么在我不需要的时候使用appcompat_v7库? 我的意思是,如何在不使用appcompat_v7库的情况下创buildhello world应用程序?

这是提供上述错误的styles_base.xml文件。

 <resources> <!-- Like in themes_base.xml, the namespace "*.AppCompat.Base" is used to define base styles for the platform version. The "*.AppCompat" variants are for direct use or use as parent styles by the app. --> <eat-comment/> <style name="Base.Widget.AppCompat.ActionBar.TabView" parent="android:Widget.Material.ActionBar.TabView"> </style> <style name="Base.Widget.AppCompat.Light.ActionBar.TabView" parent="android:Widget.Material.Light.ActionBar.TabView"> </style> <style name="Base.Widget.AppCompat.ActionBar.TabText" parent="android:Widget.Material.ActionBar.TabText"> </style> <style name="Base.Widget.AppCompat.Light.ActionBar.TabText" parent="android:Widget.Material.Light.ActionBar.TabText"> </style> <style name="Base.Widget.AppCompat.Light.ActionBar.TabText.Inverse" parent="android:Widget.Material.Light.ActionBar.TabText"> </style> <style name="Base.TextAppearance.AppCompat.Widget.ActionBar.Menu" parent="android:TextAppearance.Material.Widget.ActionBar.Menu"> </style> <style name="Base.TextAppearance.AppCompat.Widget.ActionBar.Title" parent="android:TextAppearance.Material.Widget.ActionBar.Title"> </style> <style name="Base.TextAppearance.AppCompat.Widget.ActionBar.Subtitle" parent="android:TextAppearance.Material.Widget.ActionBar.Subtitle"> </style> <style name="Base.TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse" parent="android:TextAppearance.Material.Widget.ActionBar.Title.Inverse"> </style> <style name="Base.TextAppearance.AppCompat.Widget.ActionBar.Subtitle.Inverse" parent="android:TextAppearance.Material.Widget.ActionBar.Subtitle.Inverse"> </style> <style name="Base.TextAppearance.AppCompat.Widget.ActionMode.Title" parent="android:TextAppearance.Material.Widget.ActionMode.Title"> </style> <style name="Base.TextAppearance.AppCompat.Widget.ActionMode.Subtitle" parent="android:TextAppearance.Material.Widget.ActionMode.Subtitle"> </style> <!-- Action Button Styles --> <style name="Base.Widget.AppCompat.ActionButton" parent="android:Widget.Material.ActionButton"> </style> <style name="Base.Widget.AppCompat.ActionButton.CloseMode" parent="android:Widget.Material.ActionButton.CloseMode"> </style> <style name="Base.Widget.AppCompat.ActionButton.Overflow" parent="android:Widget.Material.ActionButton.Overflow"> </style> <!-- Widget.AppCompat.Toolbar style is purposely ommitted. This is because the support Toolbar implementation is used on ALL platforms and relies on the unbundled attrs. The supporting Toolbar styles below only use basic attrs so work fine. --> <style name="Base.Widget.AppCompat.Toolbar.Button.Navigation" parent="android:Widget.Material.Toolbar.Button.Navigation"> </style> <style name="Base.TextAppearance.Widget.AppCompat.Toolbar.Title" parent="android:TextAppearance.Material.Widget.ActionBar.Title"> </style> <style name="Base.TextAppearance.Widget.AppCompat.Toolbar.Subtitle" parent="android:TextAppearance.Material.Widget.ActionBar.Subtitle"> </style> <!-- Spinner Widgets --> <style name="Base.Widget.AppCompat.ListView.DropDown" parent="android:Widget.Material.ListView.DropDown"/> <style name="Base.Widget.AppCompat.DropDownItem.Spinner" parent="android:Widget.Material.DropDownItem.Spinner"/> <style name="Base.Widget.AppCompat.Spinner" parent="android:Widget.Material.Spinner" /> <style name="Base.Widget.AppCompat.Spinner.DropDown.ActionBar" parent="android:Widget.Material.Spinner"> <item name="spinnerMode">dropdown</item> <item name="disableChildrenWhenDisabled">true</item> <item name="popupPromptView">@layout/abc_simple_dropdown_hint</item> </style> <style name="Base.Widget.AppCompat.ListView.Menu" parent="android:Widget.Material.ListView" /> <!-- Popup Menu --> <style name="Base.Widget.AppCompat.ListPopupWindow" parent="android:Widget.Material.ListPopupWindow"> </style> <style name="Base.Widget.AppCompat.PopupMenu" parent="android:Widget.Material.PopupMenu"> </style> <style name="Base.Widget.AppCompat.Light.PopupMenu" parent="android:Widget.Material.Light.PopupMenu"> </style> <style name="Base.Widget.AppCompat.PopupMenu.Overflow"> <item name="android:dropDownHorizontalOffset">-4dip</item> <item name="android:overlapAnchor">true</item> </style> <style name="Base.Widget.AppCompat.Light.PopupMenu.Overflow"> <item name="android:dropDownHorizontalOffset">-4dip</item> <item name="android:overlapAnchor">true</item> </style> <style name="Base.TextAppearance.AppCompat.Widget.PopupMenu.Large" parent="android:TextAppearance.Material.Widget.PopupMenu.Large"> </style> <style name="Base.TextAppearance.AppCompat.Widget.PopupMenu.Small" parent="android:TextAppearance.Material.Widget.PopupMenu.Small"> </style> <style name="Base.TextAppearance.AppCompat.Light.Widget.PopupMenu.Large" parent="android:TextAppearance.Material.Widget.PopupMenu.Large"> </style> <style name="Base.TextAppearance.AppCompat.Light.Widget.PopupMenu.Small" parent="android:TextAppearance.Material.Widget.PopupMenu.Small"> </style> <!-- Search View result styles --> <style name="Base.TextAppearance.AppCompat.SearchResult.Title" parent="@android:TextAppearance.Material.SearchResult.Title"> </style> <style name="Base.TextAppearance.AppCompat.SearchResult.Subtitle" parent="@android:TextAppearance.Material.SearchResult.Subtitle"> </style> <style name="Base.Widget.AppCompat.AutoCompleteTextView" parent="android:Widget.Material.AutoCompleteTextView" /> <style name="Base.Widget.AppCompat.Light.AutoCompleteTextView" parent="android:Widget.Material.AutoCompleteTextView" /> <!-- Progress Bar --> <style name="Base.Widget.AppCompat.ProgressBar.Horizontal" parent="android:Widget.Material.ProgressBar.Horizontal"> </style> <style name="Base.Widget.AppCompat.ProgressBar" parent="android:Widget.Material.ProgressBar"> </style> <!-- TODO. Needs updating for Material --> <style name="Base.Widget.AppCompat.ActivityChooserView" parent=""> <item name="android:gravity">center</item> <item name="android:background">@drawable/abc_ab_share_pack_holo_dark</item> <item name="android:divider">?attr/dividerVertical</item> <item name="android:showDividers">middle</item> <item name="android:dividerPadding">6dip</item> </style> 

这是我正在使用的代码:

 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } } 

转到您的Android SDK安装目录,然后extras> android> support> v7> appcompat。

在我的情况下:D:\ Software \ adt-bundle-windows-x86-20140702 \ sdk \ extras \ android \ support \ v7 \ appcompat

一旦你在appcompat文件夹中,检查project.properties文件,然后将值从默认值19更改为21:target = android-21。 保存该文件,然后刷新您的项目。 然后清理项目:在项目选项卡中,select清洁选项,然后select您的项目,并清理…这将解决错误。 享受编码…

我刚刚解决了这些确切的错误。 看起来好像是你的appcompat库项目中的project.properties文件应该使用你的特定的appcompat项目所写的最高版本的API(在你的情况下它看起来像v21)。 我发现的最简单的方法是查找res文件夹中最高的“values-v **”文件夹(例如values-v21 )。

为了澄清,除了在支持库设置的指示,你的appcompat/project.properties文件应该有: target=android-21 (我的19来代替)。

还要确保你有'SDK平台'来匹配安装的版本(例如,v21安装Android 5.0 SDK平台)。

请参阅appcompat-v7:21.0.0':找不到与给定名称匹配的资源:attr'android:actionModeShareDrawable'

或者,如果你不想使用appcompat,(我认为)你只需要右键点击你的项目>属性> Android>库>删除对appcompat的引用。 这些错误仍然会显示在appcompat项目中,但不会影响您的项目。

Prerequirements

确保您已经通过SDK-Manager下载了最新的附加内容以及Android 5.0 SDK。 在这里输入图像描述

这发生在我“更新”到5.0 SDK后,我想创build一个新的应用程序与支持库

在两个项目( project.properties文件)中,您要使用支持库和支持库本身必须设置相同的target

例如对于我的情况,它的工作

  1. 在项目android-support-v7-appcompat project.properties更改为target=android-21
  2. 清洁android-support-v7-appcompat在我的项目(我希望支持库)
  3. 在我的项目中,将project.properties更改为target=android-21android.library.reference.1=../android-support-v7-appcompat (或者在项目属性中添加支持库)
  4. 清理项目

您的编译Sdk版本设置为21 。 将其更改为20less 。 它目前在android studio中build.gradle 。 然后清理项目并重build它

我的项目构build目标的android-support-v7-appcompat与API 19只是将其更改为API 20它为我工作

右键单击android-support-v7-appcompat库项目转到属性单击Android更改项目生成目标从Android 4.xx到Android 5.0

这帮助我希望它也能帮助别人。

我遵循所有这些说明,包括来自Android的说明。 最后解决了这个问题,在项目中将Project Build Target从API级别更改为API级别21。

我正在使用API​​ 22(Android 5.1.1),这是比写这些其他答案时更新。 所以你不能像6个月前那样在支持库中设置target = 21。

我正在写应用程序到API级别21,我尝试了以上所有,但没有工作,最后我从appcompat_v7删除值-v23它的工作。

将目标更改为匹配版本(如Ben所解释),如果它仍然显示错误,那么只需在项目上运行“清理”以清除资源错误。

好吧,花了我两天的时间来找出问题。 简而言之,默认情况下,您只需将最高版本保持为您下载的最高级别即可,例如Level 23(Android M)。

否则你会得到这些错误。 您必须转到您的项目和appcompat的项目属性才能更改目标版本。

叹。

对于我的Android Studio锻炼。 我发现,当我在Project Structure设置中手动将API23(Android 6)的Compile SDK Version更改为API17(Android 4.2),并尝试更改布局文件中的某些代码时,会发生这种情况。

我很想知道,我必须手动更改它,即使在新build项目中,我已经select“Minimum SdK”为4.2。

通过将其更改回API23解决,它仍然可以在Android 4.2上运行。 ^^

 Download the latest "sdk platform" and "sdk build tools" of same version like 23.* for both from "sdk Managar". 

(供参考,请参阅上面的托pipe图像从后面轨道 )。 然后右键点击你的项目 – >属性 – > Android – >在“项目构build属性”中select“API级别”23或更新的最新项目。 然后清理一次你的项目。

 Note: But all three should be in same version. 

请打开你的android sdk安装目录然后,

在我的路上:

E:\ Android的\ SDK \演员\机器人\ SUPPORT \ V7 \程序兼容性

那么你可以看到“project.properties”文件

打开它并将目标“target = android-19”更改为“target = android-23”

它为我工作。

感谢: https : //stackoverflow.com/a/27243716/4140589