Ресурс не найден - Theme.AppCompat.Light.DarkActionBar
Я использовал ActionBar Style Generator и теперь пытаюсь использовать его в своем приложении, но получаю:
ошибка: ошибка при получении родительского элемента: не найден ресурс, который соответствует указанному имени '@style/ Theme.AppCompat.Light.DarkActionBar'.
я использую lib android-support-v7-appcompat.jar внутри папки libs
моя цель - сделать приложение совместимым с 2.3 или выше
13 ответов
AppCompat
это библиотечный проект. Вам нужно сослаться на проект библиотеки в вашем проекте Android.
Проверьте тему Добавление библиотек с ресурсами.
Если вы используете Eclipse, то добавьте reference library
в ваш проект, как следующие шаги:
- Щелкните правой кнопкой мыши ваш проект в
Project Explorer
Посмотреть. - Нажмите
Properties
, - Нажмите
Android
вProperties
окно. - в
Library
группа, нажмитеAdd...
- Смотрите изображение ниже.
- Выберите библиотеку. Нажмите
OK
, - Нажмите на
OK
Снова нажмите кнопку в окне свойств.
Если вы используете Android Studio, просто добавьте зависимость
dependencies {
compile 'com.android.support:appcompat-v7:25.0.1'
}
в app/build.gradle
, И это будет работать
Для всех, кто использовал VS2015, я тоже получал эту ошибку, и оказалось, что я не добавил библиотеку в проект...
Install-Package Xamarin.Android.Support.v7.AppCompat
Простое решение - заменить содержимое этого файла (/res/values/styles.xml) следующим текстом:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
Если вы используете Eclipse, просто скопируйте файл android-support-v7-appcompat.jar в папку libs, если вы собираетесь использовать ресурсы.
Следуйте инструкциям здесь для " Добавление библиотек с ресурсами".
Зависимости {
implementation 'com.android.support:appcompat-v7:28.0.0'
}
компиляция была заменена реализацией, не знаю почему.
В моем случае я взял android
проект с одного компьютера на другой и имел эту проблему. То, что работало для меня, было комбинацией некоторых ответов, которые я видел:
- Удалите копию библиотеки appcompat, которая была в папке libs рабочей области
- Установите SDK 21
- Измените свойства проекта, чтобы использовать эту сборку SDK
- Установите и запустите эмулятор, совместимый с sdks 21
- Обновите конфигурацию запуска, чтобы запросить запуск устройства и выберите "Выполнить".
Мой побежал нормально после этих шагов.
dependencies {
compile 'com.android.support:appcompat-v7:23.0.0'
}
Это сработало для меня... в Android Studio...
Убедитесь, что в вашем SDK есть каталог v7, я думал, что наличие "Библиотеки поддержки Android" (в дополнениях) было достаточно. Оказывается, я пропустил "Локальный репозиторий Maven для библиотек поддержки (дополнительно;android;m2repository)". Студия обнаружила это и исправила зависимости 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'
}
Использование Visual Studio 2015 (Windows7) + Xamarin имел эту ошибку и после попытки нескольких вещей (установка пакетов, скачать android_m2repository_r10.zip...) прекратил удаление полной папки Xamarin внутри
C:\Users\<my user>\AppData\Local
После этого перестройте приложение в VS и ошибки исчезли.
Если вы используете Android.mk для сборки, используйте USE_AAPT2, который ссылается на встроенный ресурс из AAR.
Добавьте строку ниже в файле Android.mk:
LOCAL_USE_AAPT2: = true
Если вы используете Visual Studio для MAC, устраните проблему, щелкнув Проект> Восстановление пакетов Nutget.
- Обновите свой SDK в диспетчере и обязательно включите
Android support library
в экстра - Перейти к SDK в проводнике (Finder на Mac), отследить папку дополнительного (
..\sdk\extras\android\support\v7\appcompat\res\values
на винде). Где-то там естьthemes.xml
а такжеthemes_base.xml
, Скопируйте оба этих файла. - В вашем проекте вставьте файлы в каталог 'values'
В Eclipse: при импорте библиотеки поддержки в качестве библиотеки проекта, следуя инструкциям в разделе Добавление библиотек поддержки, не забудьте установить флажок "Копировать проекты в рабочую область"!
У меня была такая же проблема. Ни одно из решений, перечисленных здесь, не помогло моей ситуации. Оказывается, я импортировал родительскую папку для проекта в Android Studio 1.5, а не саму папку проекта. Это повергло Граделя в бешенство. Решением было импортировать папку проекта вместо этого.
В xamarin, если вы столкнетесь с этой проблемой при добавлении любого нового sdk. Простое решение - открыть файл стилей и добавить эту строку.
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"></style>
Это лучшее решение, чем добавление appcompat.