Не могу найти тему.Совместимости приложений.Свет для новой поддержки панели действий Android


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

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

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

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

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

Ошибка, Полученная Во Время Сборки

ошибка: Ошибка при получении родителем для элемента: Не найден ресурс, соответствующий заданному имени ' @style / Theme.Совместимости приложений.Свет". стили.xml / ActBarTest/res / values строка 3 Android aapt проблема

стиль.xml

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

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

30 336

30 ответов:

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

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

Примечание: Если вы используете "android: showAsAction" в пункте меню, вам нужно изменить префикс android, как в Примере 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">
    

    to:

    <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
    
  2. в файле res/values-v11/styles.xml изменить линия:

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

    to:

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

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

    to:

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

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

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

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

это проблема, которая может произойти в 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" />

Я сделал следующее в Eclipse с библиотекой поддержки Android ( APL проект) и основной проект ( 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.

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

Правой Кнопкой Мыши на приложение, чтобы перейти к свойствам Right click on app to goto properties

перейдите к зависимостям и нажмите на знак " + " и выберите зависимость от библиотеки Go to Dependencies and click on '+' sign and choose library dependency Выберете совместимости приложений-В7 Choose appcompat-v7

решение IntelliJ IDEA.

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

3. Добавить новый модуль из существующего источника в ваш проект идеи.
enter image description here

4. Добавить проект AppCompat. !!! Должно быть под последним SDK тоже! (ps. Скажите " Да " в любом месте в процессе этого шага)
enter image description here

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

5.1. Зависимость От Модуля. Выбрали android-поддержка-v7-appcompat
enter image description here

5.2. 2 ПК. Зависимости Библиотек. Добавить андроид-СДК\\кроме поддержки Android\\В7\совместимости приложений\либы\Android-поддержка-В4.банку и android-support-v4\android-support-v7-appcompat.банку
enter image description here

в общей сложности это будет быть:
enter image description here

6.очень важно!!!
добавить тему с префиксом @style (не другой!).
enter image description here



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

1. выполнить Android SDK Manager и установить последний SDK и Поддержка Android Libarary. Версия SDK и поддержка Android Libarary должна быть тот же! 23 в моем случае. Другие варианты дадут вам ошибки.
enter image description here

2. добавить построить.gradle

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

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

Для Android Studio 1.2.2

падение "android" из parent атрибут value:

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

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

для IntelliJ IDEA или Android Studio:

добавить в приложение.gradle build file

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.

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

    -4-->импорт (андроид-СДК\\массовка для Android\поддержка\В7\совместимости приложений)
  1. щелкните правой кнопкой мыши проект - > свойства - > Android. В разделе Библиотека "добавить" и выберите Библиотека appcompat, которая включает в себя Шаг 1
  2. удалить все файлы из каталога libs проекта
  3. добавить следующий файл в каталог libs проекта <SDK-PATH>\extras\android\support\v13android-support-v13.jar

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

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

  1. из SDK manager удалите пакеты "библиотека поддержки Android"и" репозиторий поддержки Android".
  2. переустановите "библиотеку поддержки Android"и" репозиторий поддержки Android"
  3. удалите "android-support-v7-appcompat" или "appcompat_v7, что еще у вас есть в вашем проекте.
  4. импорт android-поддержка-v7-appcompat от "АДТ-пакет-окна-архитектуру x86_64-20140702\\СДК\дополнения для Android\поддержка\В7\совместимости приложений"
  5. выберите свой проект и из файла выберите Свойства и найдите путь сборки Java, а затем на вкладке "Проект" удалите то, что еще там, а затем добавьте. и вы должны увидеть "android-support-v7-appcompat" , выбрать и добавить его на вкладку Project.
  6. проверьте свой проект.файл свойств ниже файлов проекта, вы увидите, как этот; target=android-21 андроид.библиотека.ссылка.1=../ android-поддержка-v7-appcompat затем проверьте AndroidManifest.XML-файл, если цель-21 или что еще вы choosed. Также проверьте наличие ссылки на библиотеку так же, как ваша библиотека, которая была выбрана ранее.

надеемся, что вы найдете свое решение.

работает:

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

поскольку импорт dialouge отличается в 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 есть ошибка. В свойстве - > Java build path - >'Project' и 'Order and Export' не должно быть никаких jar. Удаляя их, и проверки зависимостей частных библиотек в Android' и 'Андроид' решить мою проблему.

Я испытал ту же проблему, что и OP после щелчка правой кнопкой мыши на моем проекте и выбора Закрыть Несвязанные Проекты.

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

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

во-первых, проверьте, установлена ли библиотека "Android Support Library". Если нет, установите его. Он не установлен по умолчанию. Вы можете сделать все это в "Android SDK manager" доступен в меню.

(Android SDK Manager - > Extra - > библиотека поддержки Android)

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

самое быстрое решение:

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

enter image description here

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

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

  1. щелкните правой кнопкой мыши на проекте - > свойства
  2. выберите путь сборки Java из левой части таблицы содержимого
  3. перейдите на вкладку библиотеки
  4. добавить внешние банки и выберите <your sdk path>\extras\android\support\v13\android-support-v13.jar

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

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 щелкните правой кнопкой мыши на своем проекте - > выберите путь сборки, а затем выберите Настроить путь сборки. в окне выберите файл jar, который вы хотите, и обновить свой проект

принятое решение раньше работало для меня, но не сейчас. Я должен был воссоздать Привет-мир такого же рода (!) в новом рабочем пространстве, сделал его компиляцию, а затем скопировал все каталоги, в том числе .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 location, попробуйте "аннулировать кэш / перезапуск".
Вы можете найти его у "файл" меню В Android Studio.

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

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

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