Я экспериментирую с моим первым приложением «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 в моем проекте. Он был найден в:
<declare-styleable ...> <attr name="buttonBarStyle" format="reference" /> ...
) <style...>... <item name="buttonBarStyle">@style/ButtonBar</item>...
) <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, и этими атрибутами вручную. Как мне их исправить?
Это связано с тем, что com.android.support:appcompat-v7:18.0.0
уже имеет этот атрибут. Поэтому, если вы планируете использовать эту библиотеку поддержки (и вы должны), можно просто удалить объявление этих атрибутов из вашего проекта \src\main\res\values\attrs.xml
. Я думаю, это дублирование связано с тем, что новый мастер активности AndroidStudio не предполагает, что вы можете использовать библиотеку поддержки, чтобы он сам генерировал весь код.