Создавайте ошибки после добавления полноэкранного режима в Android Studio - программирование
Подтвердить что ты не робот

Создавайте ошибки после добавления полноэкранного режима в Android Studio

Я экспериментирую со своим первым приложением "Hello World" в Android Studio. Я попытался добавить новую активность (сначала через New → Android Component, не понравился результат, удалил ее, а затем через New → Activity → selected Fullscreen activity). Теперь я получаю следующие ошибки:

  Gradle: Execution failed for task ':LanguagesMemorizer:processDebugResources'.
  > Could not call IncrementalTask.taskAction() on task ':LanguagesMemorizer:processDebugResources'
  C:\...\src\main\res\values\attrs.xml
    Gradle: Attribute "buttonBarStyle" has already been defined
    Gradle: Attribute "buttonBarButtonStyle" has already been defined

Я пробовал искать buttonBarStyle в своем проекте. Он был найден в:

  • создать папку (я думаю, я должен игнорировать это, не так ли?)
  • файл макета для нового действия (style = "? buttonBarStyle" )
  • values ​​\ attrs.xml(<declare-styleable ...> <attr name="buttonBarStyle" format="reference" /> ...)
  • values ​​\ styles.xml(<style...>... <item name="buttonBarStyle">@style/ButtonBar</item>...)
  • values-v11\styles.xml(<style...>...<item name="buttonBarStyle">?android:attr/buttonBarStyle</item>...)

Все это было автоматически сгенерировано. Как исправить эту ошибку?

UPDATE: в attrs.xml есть комментарий, в котором говорится

<!-- Declare custom theme attributes that allow changing which styles are
         used for button bars depending on the API level.
         ?android:attr/buttonBarStyle is new as of API 11 so this is
         necessary to support previous API levels. -->

Итак, кажется, что эти атрибуты необходимы для старых андроидов, но я думаю, что есть какой-то конфликт между атрибутами, объявленными API 11, и этими атрибутами вручную. Как мне их исправить?

4b9b3361

Ответ 1

Это потому, что com.android.support:appcompat-v7:18.0.0 уже имеет этот атрибут. Поэтому, если вы планируете использовать эту библиотеку поддержки (и вы должны), можно просто удалить объявление этих атрибутов из вашего проекта \src\main\res\values\attrs.xml. Думаю, это дублирование связано с тем, что новый мастер активности AndroidStudio не предполагает, что вы можете использовать библиотеку поддержки, чтобы он сам генерировал весь код.