it-roy-ru.com

IDE "Не удается разрешить @ style/Theme.Appcompat" при использовании темы поддержки совместимости v7

Это не очень большая проблема, так как мой проект по-прежнему собирается и работает правильно (с использованием gradle), но у меня возникают проблемы с тем, чтобы Android Studio распознала тему совместимости приложений, выпущенную в API 18 SDK (для обеспечения поддержки панели действий для Android 2.1 и выше).

У меня есть поддержка загрузки библиотек успешно, потому что завершение кода возможно для классов ActionBar в файлах Java. Проблема заключается в том, что студия Android отображает красные текстовые ошибки при назначениях для Theme.AppCompat.Light в AndroidManifest.xml.

Есть ли способ включить завершение кода для ресурсов темы, объявленных в манифесте из внешних библиотек в Android Studio?

Обновлено Вот мой блок <activity> из моего AndroidManifest:

<activity
    Android:name="com.example.activities.MainActivity"
    Android:label="@string/app_name"
    Android:screenOrientation="portrait"
    Android:theme="@style/Theme.AppCompat.Light" >

Я также попытался установить тему в блоке приложения:

<application
    Android:allowBackup="true"
    Android:icon="@drawable/main_final_ic"
    Android:label="@string/app_name"
    Android:logo="@drawable/main_final_enzo"
    Android:theme="@style/Theme.AppCompat.Light" >

Опять же, они работают и компилируются нормально, но отображаются в красном тексте с ошибками в моей IDE. Я также только что подтвердил, что такие же проблемы возникают при запуске моего проекта в Eclipse.

41
John Leehey

Эта проблема была исправлена ​​в Android Studio v0.2.7.

4
Yuichi Araki

У меня была такая же проблема. Звучит так, как будто у вас хорошо скомпилирован JAR-файл V7, но вам, вероятно, не хватает необходимого ресурса xml. Вам нужно вручную включить «Theme.xml», поставляемый с пакетом V7. Вот что я сделал, чтобы исправить это.

Смотрите в разделе: Добавление библиотек с ресурсамиhttp://developer.Android.com/tools/support-library/setup.html

Указания, приведенные здесь, не очень понятны, потому что они не говорят о том, что вам нужно вводить какие-либо ресурсы.

Вот что я сделал:

  1. Обновите ваш SDK в менеджере и обязательно добавьте «Репозиторий поддержки Android» в дополнительные
  2. Перейти к SDK в проводнике (Finder на Mac), отследить папку дополнительного (..\sdk\extras\Android\support\v7\appcompat\res\values в Windows). Где-то там есть «themes.xml» и «themes_base.xml». Скопируйте оба этих файла.
  3. В вашем проекте вставьте файлы в каталог 'values'
  4. сделать заново, и это помогло мне.
16
kev

Я изменился с:

classpath 'com.Android.tools.build:gradle:+'

чтобы:

classpath 'com.Android.tools.build:gradle:2.2.3'

и теперь это работает!

7
SUXA

Ответ Филипа Цвеича полезен. Моя версия Android студии 1.3.1, имеет ту же проблему. Он работает после добавления одной строки "compile 'com.Android.support:appcompat-v7:23.0.0'" следующим образом:

   dependencies {
        compile "com.Android.support:support-v4:23.0.0"
        compile "com.Android.support:support-v13:23.0.0"
        compile "com.Android.support:cardview-v7:23.0.0"
        compile 'com.Android.support:appcompat-v7:23.0.0'
    }
4
XYL

Не добавляйте библиотеку в Java Build Path, добавьте библиотеку (как проект) в Настройки> Android> Библиотеки> Добавить библиотеку.

3
Bram De Backer

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

  • Измените Gradle 0.12.+ на 0.12.1, и он будет работать.

    classpath 'com.Android.tools.build:gradle:0.12.1'
    
3
Luis Pena

Исправить было просто для меня на Android студии.

Нажмите помощь ---> Проверить наличие обновлений

Затем на самом деле прочитайте, что говорит «Подсказка», и решите, хотите ли вы получить обновление с истекающим краем или стабильное обновление. 

Как только Android-студия перезагружается, она должна работать.

Дополнительное примечание: Все было красным подчеркнуто для меня, пока я не перестроил проект.

3
rocktheartsm4l

Понижение версии build:gradle 2.3.3 to 2.2.3 работало после нескольких часов борьбы!

classpath 'com.Android.tools.build:gradle:2.2.3'

gradle-wrapper.properties:

distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.Zip
2
AskQ

Проблема заключалась в том, что мой проект библиотеки appcompat был расположен в другом месте. При импорте я должен проверить «Копировать проект в рабочую область», вот и все!

2
Sazzad Hissain Khan

Проблема заключалась в том, что мой проект appcompact library находился в другом месте. При импорте я должен проверить «Копировать проект в рабочую область», вот и все!

ПРОСТО перейдите в Files, нажмите на close, а затем нажмите на существующий проект и выберите ваш проект Android .... Тема будет решена.

1
Shahid Ahmad

Добавление compile 'com.Android.support:appcompat-v7:21.0.0' к зависимостям в gradle.build (Module: app) и перестройка проекта устранили проблему для меня в Android studio 1.0.2.

Я также проверил в SDK Manager, и у меня были загружены библиотеки поддержки.

1
Filip Cvejic

Обычная проблема. В моем случае это работает:

В проекте "Android-support-v7-appcompat":

-Delete “Android-support-v7-appcompat” from Package Explorer.
-Import again and check “Copy into workspace”
-In Properties -> Android -> in Project build target, uncheck Android 2.2 and check Android 4.1.2
-In Java build path, uncheck if you have any .jar library, and uncheck the Dependences

С другой стороны, проект, который использует «Android-support-v7-appcompat»

in Propiedades -> Android add the library, but uncheck "IsLibrary”.
-In Android -> Project build tarjet check Android 4.0.
-In "Java Build Path" -> Order and Export -> Unchecked the .jar library
-Finally do a “Project -> Clean” both projects 
1
Hernaldo Gonzalez

Мое решение/проблема была намного проще и отличается от большинства людей здесь.

Моя проблема была похожа в том, что у меня была такая ошибка: 

resource style/ThemeOverlay.AppCompat.Dark (...) not found

Странно было то, что я мог строить в режиме отладки, но не в режиме выпуска.

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

Простое решение: удалите один из файлов style.xml или объедините их, и все будет хорошо. У меня было два стиля, которые были почти одинаковыми в моих двух XML-файлах. Я мог бы сразу встроить в режим релиза после удаления одного из этих файлов.

[%] D - Время чокнуться и выпить пива. : D

0
airvine