Компиляция ресурсов Android не удалась в v3.2

Поэтому я обновил свою Android-студию до версии 3.2. Когда я попытался скомпилировать проект, сборка завершится неудачно. Ниже приведена ошибка:

Android resource compilation failed
    Output:  C:\Users\Ashish\AndroidStudioProjects\StartUp\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:900: error: <item> inner element must either be a resource reference or empty.

    Command: C:\Users\Ashish\.gradle\caches\transforms-1\files-1.1\aapt2-3.2.0-4818971-windows.jar\7f1fbe9171e916e5044000cd76b749c8\aapt2-3.2.0-4818971-windows\aapt2.exe compile --legacy \
            -o \
            C:\Users\Ashish\AndroidStudioProjects\StartUp\app\build\intermediates\res\merged\debug \
            C:\Users\Ashish\AndroidStudioProjects\StartUp\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml
    Daemon:  AAPT2 aapt2-3.2.0-4818971-windows Daemon #0

Пожалуйста, сообщите, требуется ли дополнительная информация. Любая помощь будет оценена.

Ответ 1

Сегодня я столкнулся с этой проблемой после обновления градиента от 3.1.4 до 3.2.0. Я не знаю, почему, но сборка начала бросать это исключение. я удалил папку build и удалил папку caches градиента, но ничего не работал, поэтому я посмотрел на объединенные values.xml и выяснил, что мой ids.xml определял неверный идентификатор, который был объединен с values.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item name="downloading_package" type="id">Baixando pacote de sincronização</item>
</resources>

И, видимо, это работало до обновления... для моего случая я удалил файл ids.xml (это было бесполезно в проекте)

Хотел бы я знать, почему перед обновлением все работало

Ответ 2

<item> в values.xml в строке 900... может быть id типа ресурса.

Правильный синтаксис будет (как указано в сообщении об ошибке):

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item type="id" name="id_name" />
</resources>

см. документацию.

Ответ 3

Я только что закончил эту проблему несколько минут назад, попробуйте изменить или удалить id.xml, если вы считаете, что у вас ее нет, попробуйте найти в другом модуле приложения. Я меняю свой ресурс значений из <item name="header_view" type="id">header_view</item> на <item name="header_view" type="id"/> и это сработало для меня.

Ответ 4

Я также встречаюсь с проблемой, вам просто нужно найти, где значения и обновить ее от <item type="id" name="id_name" >id_name</item> до <item type="id" name="id_name"/>, теперь все в порядке.

Ответ 5

в вашей градиенте построения (Project: name) сделать это так

classpath 'com.android.tools.build:gradle:3.+'

затем перестройте свой проект.. после этого он покажет сообщение, чтобы обновить ваш град от 4,6 до 4,10

Ответ 6

В моем случае

<?xml version="1.0" encoding="utf-8"?>

повторяется дважды в XML. Убедитесь, что он должен быть один на файл в верхней части XML.

Ответ 7

Вот что сработало для меня:

В моем файле build.gradle > dependencies я реализовывал более новую версию библиотеки appcompat

dependencies {
   implementation fileTree(dir: 'libs', include: ['*.jar'])
   implementation 'com.android.support:support-v4:21.0.3'
   implementation 'com.android.support:appcompat-v7:21.0.3'
   implementation 'androidx.appcompat:appcompat:1.0.2'}

После комментирования //implementation 'androidx.appcompat:appcompat:1.0.2' работало нормально. Я бы предложил, даже если это другая библиотека, пожалуйста, проверьте версию, которую вы используете.