Не знайдено ресурсу - Theme.AppCompat.Light.DarkActionBar


145

Я використовував генератор стилів ActionBar, і зараз намагаюся використовувати у своєму додатку, але отримую:

помилка: помилка під час отримання батьківського елемента для елемента: не знайдено ресурсу, який би відповідав заданому імені '@ style / Theme.AppCompat.Light.DarkActionBar'.

Я використовую android-support-v7-appcompat.jar lib всередині папки libs

моя мета - зробити свій додаток сумісним 2.3 або вище


ти додав банку в папку libs?
Рагунандан

так android-support-v7-appcompat.jar
Нд

Відповіді:


96

AppCompatє бібліотечним проектом. Вам потрібно посилатися на проект бібліотеки у вашому проекті Android.

Перевірте тему Додавання бібліотек з ресурсами .


1
вже розміщено android-support-v7-appcompat.jar до папки libs
неділя

4
@AbrahimNeil - це не правильний шлях. його бібліотечний проект, а отже, на нього слід посилатись так само, як на сервіси google play
Рагунандан

коли я імпортую Android-support-v7-appcompat.jar отримуючи Не вдається вирішити цільовий android-16, чи потрібно?
Нд


1
додавши implementation 'com.android.support:appcompat-v7:28.0.0', під залежність вирішив мою проблему.
Хілал

35

Якщо ви користуєтеся Eclipse , то додайте його reference libraryдо свого проекту у вигляді наступних кроків:

  1. Клацніть правою кнопкою миші ваш проект у представленні Project Explorer.
  2. Клацніть Properties.
  3. Клацніть Androidу Propertiesвікні.
  4. У Libraryгрупі натиснітьAdd...
    • Дивіться зображення нижче.
  5. Виберіть бібліотеку. Клацніть OK .
  6. Ще раз натисніть OKкнопку у вікні властивостей.

Кнопка «Додати» у вікні властивостей проекту, розділ Android, група бібліотек.


4
як ви знаєте, що op використовує студію eclipse, а не андроїд? опублікована оснастка призначена для затемнення.
Рагунандан

@Raghunandan вибачте, забудьте про це згадати
MD

1
Чудово працює в Eclipse. Дякую!
Скотт Біггс

33

Якщо ви використовуєте Android Studio, тоді просто додайте залежність

dependencies {
     implementation 'com.android.support:appcompat-v7:25.0.1'
}

до app/build.gradle. І це спрацює


2
Гм ... він не працює ... він все ще не вирішить андроїд: Theme.AppCompat. * У моєму файлі styles.xml.
Михайло

Я щойно замінив реалізацію 'com.android.support:appcompat-v7:28.0.0' на реалізацію 'com.android.support:appcompat-v7:25.0.1', і тепер вона працює ... але чому?
CGR

1
@CGR Я вважаю, що Android змінив теми для 28+ і Light.DarkActionBar вже недоступний.
DoomGoober

13

Для тих, хто там використовує VS2015, я отримував цю помилку, і, виявляється, я не додав бібліотеку до проекту ...

Install-Package Xamarin.Android.Support.v7.AppCompat

1
Я отримав це після початку нового проекту в VS2019 та створення його. Просто виконавши "Відновити рішення", не встановлюючи нічого іншого, вирішено помилки.
Глен Літтл


7

Просте рішення - замініть вміст цього файлу (/res/values/styles.xml) цим текстом:

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
    <!-- Customize your theme here. -->
</style>


1
"Помилка під час отримання батьківського елемента для елемента: Не знайдено ресурсу, який би відповідав заданому імені" AppBaseTheme "."
Yousha Aleayoub

1
Це не AppCompat .
ІгорГанапольський


4

У моєму випадку я брав androidпроект з одного комп’ютера на інший і мав цю проблему. Що працювало для мене, це поєднання деяких відповідей, які я бачив:

  • Видаліть копію бібліотеки appcompat, яка знаходилась у папці libs робочої області
  • Встановіть sdk 21
  • Змініть властивості проекту, щоб використовувати цю збірку sdk введіть тут опис зображення
  • Налаштуйте та запустіть емулятор, сумісний із sdks 21
  • Оновіть конфігурацію запуску, щоб запит на запуск пристрою та оберіть Запуск

Після цих кроків мій добре пробіг.


3

Використання Visual Studio 2015 (Windows7) + Xamarin мала цю помилку, і після спроби декількох речей (встановлення пакунків, завантаження android_m2repository_r10.zip ...) закінчилося видалення повної папки Xamarin всередині

C:\Users\<my user>\AppData\Local

Після цього відновіть додаток у VS і помилки зникли.


Це працювало для мене :) Примітка: Використання Visual Studio Enterprise. 2017 15.8 Попередній перегляд 3.0
Девід Джонс

Працював і для мене, використовуючи VS 2017.
Річард Лейл,

3

переконайтеся, що у вашому SDK є каталог v7, я вважав, що достатньо «бібліотеки підтримки Android» (у додатках) достатньо. Виявляється, я пропускав "Місцевий сховище Maven для бібліотек підтримки (додатки; android; m2repository)" Studio виявив, що насправді і виправив залежність від gradle. використовуючи gradle для побудови, тоді працював. $ cat app / build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "pat.example.com.gdbdemo"
        minSdkVersion 15
        targetSdkVersion 23
        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 'com.android.support:appcompat-v7:23.2.1'
}

3
dependencies {
    implementation 'com.android.support:appcompat-v7:28.0.0'
}

компіляція була замінена реалізацією, не знаю чому.


Це рішення для мене.
shizhen

2

Якщо ви використовуєте Android.mk для створення, тоді використовуйте USE_AAPT2, які посилаються на вбудований ресурс від AAR.

Додайте рядок у файлі Android.mk:

LOCAL_USE_AAPT2: = вірно


1
  1. Оновіть свій SDK в менеджері та обов'язково включіть Android support libraryдодаткові
  2. Перейдіть до SDK у файл Explorer (Finder на mac), відслідковуйте папку додаткового ( ..\sdk\extras\android\support\v7\appcompat\res\valuesу Windows). Десь там є themes.xmlі themes_base.xml . Скопіюйте обидва ці файли.
  3. У своєму проекті вставте файли в каталог "значень"

Копіювання теми_base.xml в res / значень вирішило оригінальну проблему, але призвело до інших невирішених посилань.
FractalBob

1

Якщо ви використовуєте Visual Studio для MAC , усуньте проблему, натиснувши на Project> Відновлення пакетів Nutget


0

У програмі Eclipse: Імпортуючи бібліотеку підтримки як бібліотеку проектів, дотримуючись інструкцій у розділі Додавання бібліотек підтримки , не забудьте перевірити опцію "Копіювати проекти в робочу область" !


0

У мене була ця сама проблема. Жодне з перерахованих тут рішень не допомогло моїй ситуації. Як виявляється, я імпортував батьківську папку для проекту в Android Studio 1.5, а не саму папку проекту. Це кинуло Градель в запаморочення. Рішенням було замість цього імпортувати папку проекту.


-1

У xamarin, якщо ви стикаєтеся з цією проблемою, коли ви додаєте будь-який новий sdk. Просте рішення - Відкрийте файл стилів і додайте цей рядок.

<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"></style>

Це краще рішення, а не додавання appcompat.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.