Ошибка в файле styles_base.xml - приложение для Android - Ресурс не найден, который соответствует указанному имени 'android: Widget.Material.ActionButton'

Итак, я стал новичком в разработке Android, и я просто создал приложение hello world. Но это дает мне ошибки в styles_base.xml файле библиотеки appcompat_v7.

Ошибка: ошибка получения родительского элемента: не найден ресурс соответствует указанному имени "Андроид: Widget.Material.ActionButton. styles_base.xml/appcompat_v7/res/values-v21
Проблема AAPT

Как я могу позаботиться об этой ошибке? Также почему библиотека appcompat_v7 используется, когда я этого не хочу? Я имею в виду, как создать приложение hello world без использования библиотеки appcompat_v7?

Это файл 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);
   }
}

Ответ 1

Перейдите в свой установочный каталог Android SDK, а затем дополнительно > 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. сохраните файл, а затем обновите свой проект. Затем очистите проект: На вкладке "Проект" выберите "Очистить", затем выберите проект и очистите... Это устранит ошибку. пользоваться кодированием...

Ответ 2

Я только что решил эти точные ошибки. Ключевым моментом является то, что ваш файл project.properties в вашем проекте библиотеки appcompat должен использовать любую самую высокую версию API, для которой был написан ваш конкретный проект appcompat (в вашем случае это похоже на v21). Самый простой способ, который я нашел, - найти самую высокую папку "values-v **" внутри папки res (например, values-v21).

Чтобы уточнить в дополнение к инструкциям в Support Library Setup, ваш файл appcompat/project.properties должен иметь в нем: target=android-21 ( моя пришла с 19 вместо).

Также убедитесь, что у вас установлена ​​платформа SDK для этой версии (например, для v21 установлена ​​платформа Android 5.0 SDK).

См. также appcompat-v7: 21.0.0 ': ресурс не найден, который соответствует указанному имени: attr' android: actionModeShareDrawable '

Альтернативно, если вы вообще не хотите использовать appcompat, я думаю, что все, что вам нужно сделать, это щелкнуть правой кнопкой мыши по вашему проекту > Свойствa > Android > Библиотекa > Удалить ссылку на appcompat. Ошибки будут по-прежнему отображаться для проекта appomppat, но не должны влиять на ваш проект после этого.

Ответ 3

Prerequirements

Убедитесь, что вы загрузили последние дополнения, а также SDK Android 5.0 через SDK-Manager. enter image description here

Ответ 4

Это случилось со мной после того, как я "обновил" в 5.0 SDK и хотел создать новое приложение с поддержкой библиотеки

В обоих проектах (project.properties file) в том, который вы хотите использовать библиотеку поддержки и самой библиотеке поддержки, ей необходимо установить те же target

например. для моего дела он работал

  • В проекте android-support-v7-appcompat Изменить project.properties в target=android-21
  • Очистить android-support-v7-appcompat В моем проекте (где я хочу поддерживать библиотека)
  • В моем проекте измените project.properties на target=android-21 и android.library.reference.1=../android-support-v7-appcompat (или добавьте библиотеку поддержки в свойствах проекта)
  • Очистить проект

Ответ 5

Скомпилированная версия Sdk установлена ​​на 21. измените его на 20 или less. Его настоящее в build.gradle в студии android. Затем очистите проект и перестройте его.

Ответ 6

My Project Build. Цель android-support-v7-appcompat заключалась в том, что API 19 просто изменил его на API 20, который он работал у меня.

Щелкните правой кнопкой мыши на проекте библиотеки android-support-v7-appcompat Перейти к свойствам Нажмите на Android Изменить сборку проекта Цель от Android 4.x.x до Android 5.0

Это помогло мне, надеюсь, и другим.

Ответ 7

Я следил за всеми инструкциями, включая инструкции от Android. Наконец, для меня это изменило изменение Project Build Target от уровня API до уровня API 21 в моем проекте.

Я использую API 22 (Android 5.1.1), который новее, чем когда были написаны эти другие ответы. Таким образом, вы не можете установить target = 21 в библиотеке поддержки, как вы могли 6 месяцев назад.

Ответ 8

Я пишу приложение для уровня API 21, я пробовал все выше, но не работал. Наконец, я удалил Values-v23 из appcompat_v7.Это работало.

Ответ 9

После изменения цели в соответствии с версией (как объяснил Бен), если она все еще показывает ошибки, просто запустите "Очистить" в проекте, чтобы очистить ошибки ресурса.

Ответ 10

Ну, мне стоило 2 дня, чтобы выяснить проблему. Короче говоря, по умолчанию вы должны просто сохранить максимальную версию на самом высоком уровне, который вы загрузили, говорит, уровень 23 (Android M) для моего случая.

в противном случае вы получите эти ошибки. Вам нужно перейти к свойствам проекта как вашего проекта, так и appcompat, чтобы изменить целевую версию.

вздоха.

Ответ 11

Для моей тренировки Android Studio. Я обнаружил, что это происходит, когда я вручную изменяю версию SDK Compile из API23 (Android 6) вручную API17 (Android 4.2) в настройке структуры проекта и пытаюсь изменить код в файлах макетов.

Я пропустил, понял, что мне нужно изменить его вручную, даже в новом проекте я уже выбрал "Minimum SdK" как 4.2.

Решите, просто изменив его обратно на API23, и он все равно может работать на Android 4.2. ^^

Ответ 12

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

(для справки см. выше размещенное изображение   из back track). Затем щелкните правой кнопкой мыши по вашему проекту → Свойства → Android →   в "свойствах построения проекта" выберите "уровень API" 23 или последний, который вы обновили. Затем очистите проект один раз.

Note: But all three should be in same version.

Ответ 13

пожалуйста, откройте установленный каталог android sdk, затем

в моем пути:

E:\Android\SDK\Extras\Android\поддержка\v7\AppCompat

то вы можете увидеть файл project.properties

откройте его и измените целевой "target = android-19" на "target = android-23"

это сработало для меня.

спасибо: fooobar.com/info/106844/...