Intereting Posts
AlertDialog styling – как изменить стиль (цвет) названия, сообщения и т. Д. Ошибка раздувания фрагмента в диалоге второй раз Underflow в восстановлении в android 4.3 Закрытие виртуальной клавиатуры при нажатии кнопки Что случилось с темой ICS Holo Dialog? Как бороться с отсутствующей исходной папкой src / test / java в проекте Android / Maven? Как повесить исходящий звонок в Android? Кнопка возврата ActionBarActivity не выскочит из задней части Android: как я могу заставить DrawerLayout передавать события касания к основному виду NullPointerException при использовании RelativeLayout как пользовательский InfoWindow Ошибка: не удалось получить доступ к диспетчеру пакетов. Работает ли система? – В Android Studio Как проверить естественную ориентацию устройства (по умолчанию) на Android (т. Е. Получить пейзаж, например, Motorola Charm или Flipout) Как отобразить выбор даты для андроида с полями только месяца и года? Почему в AVD Manager нет «Nexus 5»? Какой вариант использовать вместо этого? Почему добавление локальных переменных вызывает задержку в методе?

Не удается найти Theme.AppCompat.Light для новой поддержки Android ActionBar

Я пытаюсь внедрить новую библиотеку поддержки ActionBar , выпущенную Google пару дней назад. Раньше я успешно реализовал ActionBarSherlock без каких-либо проблем, используя тот же метод, указанный на странице « Настройка библиотеки поддержки разработчика Google Developer» – с помощью руководства по включению ресурсов (что аналогично тому, как это сделал ActionBarSherlock). У меня есть проект библиотеки, загруженный в мой собственный проект как библиотека.

Я могу сказать, что библиотека отлично загружается. Когда вместо расширения Activity на моем MainActivity.java я изменил его, чтобы расширить ActionBarActivity (согласно инструкциям Google), ошибок не возникает – и он импортирует правильно.

Я даже попытался обойти файл style.xml и добавить @style/Theme.AppCompat.Light прямо в AndroidManifest.xml для <application> и <activity> с помощью android:theme="@style/ThemeAppCompat.Light" со всеми Попытки приводят к той же ошибке.

Теперь проблема заключается в том, что я не могу заставить ее изменить тему, не говоря уже о том, чтобы даже строить без ошибки. Ниже приведена ошибка, которую я получаю, а затем файл style.xml, который я изменил, чтобы использовать новую тему.

У меня средний опыт работы с приложениями Android, и я запускаю Eclipse с последней версией библиотек поддержки и SDK, скомпилированных с API 18 (Android 4.3).

Ошибка при сборке

Ошибка: ошибка получения родительского элемента: не найден ресурс, который соответствует указанному имени '@ style / Theme.AppCompat.Light'. Styles.xml / ActBarTest / res / values ​​line 3 Проблема Android AAPT

style.xml

 <?xml version="1.0" encoding="utf-8"?> <resources> <style name="Theme.ProsoftStudio.ACTest" parent="@style/Theme.AppCompat.Light"> </style> </resources> 

Какие-либо предложения? Это никогда не было проблемой с ActionBarSherlock. Я хочу использовать эту новую библиотеку поддержки. Похоже, что .jar загружается, но не ресурсы.

Solutions Collecting From Web of "Не удается найти Theme.AppCompat.Light для новой поддержки Android ActionBar"

Вам нужно сделать следующее:

  1. File->Import (android-sdk\extras\android\support\v7) . Выберите «AppCompat»
  2. Project-> properties->Android. В библиотеке разделов «Добавить» и выберите «AppCompat»,
  3. Вот и все!

Примечание: если вы используете «андроид: showAsAction» в пункте меню, вам нужно изменить префикс андроида, как в примере http://developer.android.com/guide/topics/ui/actionbar.html

Если, как и я, вы следуете руководству Android на http://developer.android.com/training/basics/actionbar/setting-up.html и продолжаете получать эту ошибку, попробуйте изменить стиль AppBaseTheme во всех styles.xml файлы. В деталях:

  1. В файле res/values/styles.xml измените строку:

     <style name="AppBaseTheme" parent="android:Theme.Light"> 

    чтобы:

     <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light"> 
  2. В файле res/values-v11/styles.xml измените строку:

     <style name="AppBaseTheme" parent="android:Theme.Holo.Light"> 

    чтобы:

     <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light"> 
  3. В файле res/values-v14/styles.xml измените строку:

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

    чтобы:

     <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar"> 

Теперь приложение должно работать нормально.

Я поделюсь своим опытом с этой проблемой. Из-за этого я схожу с ума, но я обнаружил, что проблема была ошибкой с самим Eclipse, а не с моим кодом: в eclipse не удалось ссылаться на проект андроидной библиотеки в другом проекте Android

Итак, если у вас есть библиотека поддержки Android на вашем диске C: и вашем проекте на диске D: на вашем компьютере, Eclipse не будет функционировать правильно и не будет знать, где находится библиотека поддержки Android (зеленый тик превращается в красный крест ). Чтобы решить эту проблему, вам нужно переместить оба проекта на один и тот же жесткий диск.

Я сделал следующее в Eclipse с проектом библиотеки поддержки Android ( APL ) и Main Project ( MP ):

  1. Убедитесь, что APL и MP имеют ту же самую minSdkVersion и targetSdkVersion .

  2. Добавлен APL как зависимость от сборки для MP :

    1. Перейдите в «Свойства> Путь сборки Java» MP , а затем

    2. Выбор вкладки «Проекты» и добавление APL .

  3. В свойствах MP в разделе «Android» добавлена ​​ссылка на APL в библиотеке.

1 и 2 получили ссылки на классы Java, отлично работающие … однако я все еще видел ошибку в manifest.xml для MP при попытке ссылки на @style/Theme.AppCompat.Light из APL . Это только ушло, когда я выполнил шаг 3.

Это проблема, которая может произойти в Android Studio, если вы изменяете модули структуры проекта. В этом случае вам может понадобиться снова добавить зависимости. В текстовом редакторе отредактируйте файл 'build.gradle', чтобы включить необходимые зависимости:

 dependencies { compile 'com.android.support:appcompat-v7:+' compile fileTree(dir: 'libs', include: ['*.jar']) } 

Это должно обновить файл '{your_project_name} .iml' с помощью компонентов lib:

 <orderEntry type="library" exported="" name="appcompat-v7-19.0.1" level="project" /> 

Его немного поздно, но вот как я это делаю в AndroidStudio!

Щелкните правой кнопкой мыши на приложении для свойств goto Щелкните правой кнопкой мыши на приложении для свойств goto

Перейдите в «Зависимости» и нажмите «+» и выберите зависимость библиотеки Перейдите в «Зависимости» и нажмите «+» и выберите зависимость библиотеки Выберите appcompat-v7 Выберите appcompat-v7

Решение IntelliJ IDEA.

1. Запустите Android SDK Manager и установите последнюю версию SDK и Android Libarary . Версия SDK и поддержка Android Libarary должны быть одинаковыми ! 23 в моем случае. Другие варианты дадут вам ошибки.
Введите описание изображения здесь
2. Измените SDK-версию проекта IDEA на последний, который вы установили на предыдущем шаге. (Ps. Вы не можете использовать Maven).
Введите описание изображения здесь

3. Добавьте новый модуль из существующих источников в проект IDEA.
Введите описание изображения здесь

4. Добавьте проект AppCompat. !!! Должен быть и под последним SDK! (Ps. Скажите «Да» в любом месте этого шага)
Введите описание изображения здесь

5. Откройте настройки основного модуля проекта и добавьте к нему следующие 3 зависимости:

5.1. Зависимость модуля. Выберите поддержку android-v7-appcompat
Введите описание изображения здесь

5.2. 2 шт. Зависимости библиотек. Добавить android-sdk \ extras \ android \ support \ v7 \ appcompat \ libs \ android-support-v4.jar и android-support-v4 \ android-support-v7-appcompat.jar
Введите описание изображения здесь

В общей сложности это будет:
Введите описание изображения здесь

6. Очень важно !!!
Добавьте тему с префиксом @style (не другим!) .
Введите описание изображения здесь

Решение для Android Studio.

1. Запустите Android SDK Manager и установите последнюю версию SDK и Android Libarary . Версия SDK и поддержка Android Libarary должны быть одинаковыми ! 23 в моем случае. Другие варианты дадут вам ошибки.
Введите описание изображения здесь

2. Добавить рядом с build.gradle

 dependencies { compile 'com.android.support:appcompat-v7:23.0.1' } 

PS Если вы новичок в разработке Android, я настоятельно рекомендую вам перейти на Android Studio & Gradle прямо сейчас – вы получите самый простой способ управления своим Android-приложением.

Для Android Studio 1.2.2

Drop "android" из значения parent атрибута:

 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"></style> 

Вам нужна ссылка $ ANDROID_SDK / extras / android / support / v7 / appcompat

Для IntelliJ IDEA или Android Studio:

Добавьте это в файл сборки app.gradle

 dependencies { compile "com.android.support:appcompat-v7:21.0.+" } 

Замените -v:xx.0+ , с вашей целью сборки, если у вас 19 платформ, тогда это должно быть похоже:

 dependencies { compile "com.android.support:appcompat-v7:19.0.+" } 

Следуйте инструкциям @rcdmk. Удалите поддержку android v4.jar в ВАШЕМ проекте. Он конфликтует с новой обновленной версией, найденной в appcompat.

Моя проблема устранена с помощью следующих шагов

  1. Файл-> Импорт (android-sdk \ extras \ android \ support \ v7 \ appcompat)
  2. Щелкните правой кнопкой мыши Project-> properties-> Android. В библиотеке разделов «Добавить» и выберите библиотеку appcompat, которая включена в шаге 1
  3. Удалить все файлы из каталога проектов
  4. Добавить следующий файл в каталог проекта libs <SDK-PATH>\extras\android\support\v13android-support-v13.jar

    При необходимости перезапустите Eclipse. Вот и все. Ваша проблема должна исчезнуть.

У меня была такая же проблема, и я потратил 4-5 часов на решение. Моя проблема решена;

  1. От менеджера SDK удалите пакеты «Android Support Library» и «Android Support Repository».
  2. Переустановите «Android Support Library» и «Android Support Repository»,
  3. Удалите «android-support-v7-appcompat» или «appcompat_v7», что еще вы имеете в своем проекте.
  4. Импорт android-support-v7-appcompat из «adt-bundle-windows-x86_64-20140702 \ sdk \ extras \ android \ support \ v7 \ appcompat"
  5. Выберите свой проект и из файла выберите свойства и найдите Java Build Path, а затем со вкладки «Project» удалите то, что еще там, а затем Add. И вы должны увидеть «android-support-v7-appcompat», выберите и добавьте его на вкладку «Проект».
  6. Проверьте файл project.properties под файлами Project, вы увидите следующее: Target = android-21 android.library.reference.1 = .. / android-support-v7-appcompat, а затем проверить файл AndroidManifest.xml, если цель равна 21 или что вы выбрали. Также проверяйте ссылку на библиотеку так же, как и выбранную ранее библиотеку.

Надеюсь, вы найдете свое решение.

работает:

 <style name="MyApp" parent="Theme.AppCompat.Light"> </style> <style name="MyApp" parent="@style/Theme.AppCompat.Light"> </style> <style name="Theme.AppCompat.Light.MyApp"> </style> 

Поскольку в диалоговом окне «Импорт» отличается от Android Studio 1.0.1, я не смог бы использовать версию Святослава Лобаха.

Вместо этого я загрузил «Репозиторий поддержки Android» в диспетчере SDK. Затем добавили

 dependencies { ... compile "com.android.support:appcompat-v7:18.0.+" } 

Для build.gradle . Работал для меня.

У http://developer.android.com/tools/support-library/setup.html есть ошибка. В Property-> Java build path -> 'Project' и 'Order and Export' не должно быть никаких jar. Удаление их и проверка «Частных библиотек Android» и «Зависимости от Android» решили мою проблему.

Я испытал ту же проблему, что и OP после щелчка правой кнопкой мыши по моему проекту и выбора Close Unrelated Projects .

В моем случае я решил проблему, повторно открыв проект appcompat_v7 и очистив / перестроив оба проекта.

Это случилось со мной, когда Eclipse (Luna) / AndroidSDK (а не Android Stduio) были использованы с новейшими инструментами и библиотекой по состоянию на 14 января 2015 года во время проекта, такого как HelloWorld. Когда я установил эти инструменты и сделал HelloWorld первым приложением, я принял все значения по умолчанию. Это проблема в моем случае.

Сначала проверьте, установлена ​​ли библиотека «Библиотека поддержки Android». Если нет, установите его. По умолчанию он не установлен. Вы можете сделать все это в «Android SDK manager», доступном в меню.

(Android SDK Manager -> Extra -> Android Support Library)

Благословения, (должник) <> <

Быстрое решение:

Щелкните правой кнопкой мыши по проекту -> Инструменты Android -> Добавить библиотеку поддержки.

Введите описание изображения здесь

Я сделал для этого глупую ошибку. Когда я получал такую ​​же ошибку каждый раз, когда я не мог понять, что случилось. То он щелкнул меня, что как только я закрыл все проекты на своем рабочем пространстве, и это было время с тех пор, как все проблемы начались. Просто проверьте, не закрыт ли ваш «appcompat_v7». Если затем открыть проект двойным щелчком, а затем очистить и снова построить проект. В моем случае ошибки исчезли. Счастливое кодирование!

Я не уверен, была ли доступна библиотека поддержки v13, когда этот вопрос был опубликован, но если кто-то все еще борется, я видел, что добавление android-support-v13.jar все исправит. Вот как я это сделал:

  1. Щелкните правой кнопкой мыши по проекту -> Свойства
  2. Выберите Java Build Path из левой части таблицы
  3. Перейдите на вкладку «Библиотеки»
  4. Добавьте кнопку внешних баннеров и выберите <your sdk path>\extras\android\support\v13\android-support-v13.jar

Для Android Studio или IntelliJ все, что вам нужно сделать, это обновить свои зависимости в gradle.build. Я использовал следующее:

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.2' } 

Я не знаю, как многие из вас это заметили. Библиотека поддержки «appcompat_v7» и ваш проект должны находиться в одном каталоге (я имею в виду каталог рабочей области). Не очищайте свой проект до тех пор, пока его ошибка не станет лишней. У вас будет непростое время с R.java

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

 Right Click Project-> properties->Android 

В библиотеке разделов Add и выберите библиотеку appcompat.

В eclipse щелкните правой кнопкой мыши на вашем проекте-> выберите путь сборки, а затем выберите configure build path. Из окна выберите файл jar, который вы хотите, и обновите свой проект.

Принятое решение раньше меня работало, но не сейчас. Мне пришлось воссоздать hello-мир такого же вида (!) В новом рабочем пространстве, скомпилировать его, а затем скопировать все каталоги, включая .hg и .hgignore . hg diff показывает:

 - android:targetSdkVersion="19" /> + android:targetSdkVersion="21" /> Binary file libs/android-support-v4.jar has changed 

Похоже, Eclipse хочет скомпилировать API 21 и ничего не делает с API 19. Темно.

Если вы добавили библиотеку AppCompat и также указали правильную ссылку appCompat из местоположения SDK, попробуйте «недействить кеши / перезагрузите» .
Вы можете найти его в меню «Файл» в Android Studio.

В моем случае проблема возникла, так как я хотел использовать SDK, который не включает требуемую библиотеку. Когда я увеличил мин. Уровень SDK проблемы исчезли. Разумеется, напрямую, включая и библиотеку, следует также удалить эту ошибку.

Забудь все. Просто используйте библиотеку appcompat, загруженную с помощью Android Studio. В нем есть все недостающие определения. Независимо от того, используете ли вы в Eclipse или нет.

У меня была такая же проблема, и даже после импорта / добавления jar / library, как упоминалось в ответах, это не решило бы ошибку. Из-за разочарования я просто создал новое рабочее пространство и создал новый проект для Android, и он автоматически импортировал appcompat_v7, и ошибок в чистом и сборе не было. Не нужно было импортировать отдельную банку / библиотеку вручную. Просто FYI Я использую eclipse Mars.1 Release (4.5.1) и столкнулся с одной и той же проблемой каждый раз, когда я создал новый проект для Android.