ошибка: <item>внутренний элемент должен быть либо ссылкой на ресурс, либо пустым? - PullRequest
0 голосов
/ 15 октября 2018

Недавно я обновил свой проект до Android Studio 3.2.1, Gradel 4.6, Gradle Plugin 4.6 и tagetSDKVersion 28.

Однако в объединенном файле values.xml появляется ошибка ниже -

ошибка: внутренний элемент должен быть либо ссылкой на ресурс, либо пустым.

Строки из объединенного файла values.xml, которые вызывают проблемы -

    <item name="date_picker_day" type="id">false</item>
    <item name="date_picker_header" type="id">false</item>
    <item name="date_picker_month" type="id">false</item>
    <item name="date_picker_month_and_day" type="id">false</item>
    <item name="date_picker_year" type="id">false</item>
    <item name="day_picker_selected_date_layout" type="id">false</item>
    <item name="done" type="id">false</item>
    <item name="month_text_view" type="id">false</item>
    <item name="animator" type="id">false</item>

Точный журнал ошибок -

Ошибка компиляции ресурса Android. Вывод: C: \ AmrutData \ Workspace \ Q4 \ Mobile-Quitters-Circle-Android \ app \ build \ промежуточный тип \ incremental \ mergeStageDebugResources \merged.dir \ values ​​\ values.xml: 6866: ошибка: внутренний элемент должен быть либо ссылкой на ресурс, либо пустым.C: \ AmrutData \ Workspace \ Q4 \ Mobile-Quitters-Circle-Android \ app \ build \ middleates \ incremental \ mergeStageDebugResources \ merged.dir \ values ​​\ values.xml: 6881: error: внутренний элемент должен быть либо ссылкой на ресурс, либопустой.C: \ AmrutData \ Workspace \ Q4 \ Mobile-Quitters-Circle-Android \ app \ build \ middleates \ incremental \ mergeStageDebugResources \ merged.dir \ values ​​\ values.xml: 6882: error: внутренний элемент должен быть либо ссылкой на ресурс, либопустой.C: \ AmrutData \ Workspace \ Q4 \ Mobile-Quitters-Circle-Android \ app \ build \ middleates \ incremental \ mergeStageDebugResources \ merged.dir \ values ​​\ values.xml: 6883: error: внутренний элемент должен быть либо ссылкой на ресурс, либопустой.C: \ AmrutData \ Workspace \ Q4 \ Mobile-Quitters-Circle-Android \ app \ build \ middleates \ incremental \ mergeStageDebugResources \ merged.dir \ values ​​\ values.xml: 6884: ошибка: внутренний элемент должен быть либо ссылкой на ресурс, либопустой.C: \ AmrutData \ Workspace \ Q4 \ Mobile-Quitters-Circle-Android \ app \ build \ middleates \ incremental \ mergeStageDebugResources \ merged.dir \ values ​​\ values.xml: 6885: ошибка: внутренний элемент должен быть либо ссылкой на ресурс, либопустой.C: \ AmrutData \ Workspace \ Q4 \ Mobile-Quitters-Circle-Android \ app \ build \ middleates \ incremental \ mergeStageDebugResources \ merged.dir \ values ​​\ values.xml: 6886: ошибка: внутренний элемент должен быть либо ссылкой на ресурс, либопустой.C: \ AmrutData \ Workspace \ Q4 \ Mobile-Quitters-Circle-Android \ app \ build \ middleates \ incremental \ mergeStageDebugResources \ merged.dir \ values ​​\ values.xml: 6887: ошибка: внутренний элемент должен быть либо ссылкой на ресурс, либопустой.C: \ AmrutData \ Workspace \ Q4 \ Mobile-Quitters-Circle-Android \ app \ build \ middleates \ incremental \ mergeStageDebugResources \ merged.dir \ values ​​\ values.xml: 6896: error: внутренний элемент должен быть либо ссылкой на ресурс, либопустой.C: \ AmrutData \ Workspace \ Q4 \ Mobile-Quitters-Circle-Android \ app \ build \ middleates \ incremental \ mergeStageDebugResources \ merged.dir \ values ​​\ values.xml: 7419: warn: игнорировать элемент 'g' с неизвестным пространством имен 'http://schemas.android.com/apk/res/android'.

Команда: C: \ Users \ 1258503.gradle \ caches \ transforms-1 \ files-1.1 \ aapt2-3.2.1-4818971-windows.jar \ 074ce88e9379d4536b62c1cf1690927a \ aapt2-3.2.1-4818971-windows \ aapt2.exe скомпилировать --legacy \ -o \ C: \ AmrutData \ Workspace \ Q4 \ Mobile-Quitters-Circle-Android \ app \ build \ middleates \ res \ merged \ stage \ debug \ C: \ AmrutData\ Workspace \ Q4 \ Mobile-Quitters-Circle-Android \ app \ build \ middleates \ incremental \ mergeStageDebugResources \ merged.dir \ values ​​\ values.xml Демон: AAPT2 aapt2-3.2.1-4818971-windows Демон # 0

Я точно знаю, что они не из моих значений, и большинство из них из класса com.android.datetimepicker.date.DatePickerDialog, и я не понимаю, как это исправить, поскольку они из библиотеки, а не из моего проекта.

Пожалуйста, помогите

Ответы [ 4 ]

0 голосов
/ 24 марта 2019

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

В некоторых случаях они могут быть из внешних библиотек, поэтому не могут быть изменены напрямую, в этом случаесоздайте файл с именем ids.xml в папке res / values.

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

<resources>
    <item name="cc_card" type="id"/>
    <item name="cc_ccv" type="id"/>
    <item name="cc_entry" type="id"/>
    <item name="cc_entry_internal" type="id"/>
    <item name="cc_exp" type="id"/>
    <item name="cc_form_layout" type="id"/>
    <item name="cc_four_digits" type="id"/>
    <item name="cc_zip" type="id"/>
    <item name="text_helper" type="id"/>
</resources>

enter image description here

0 голосов
/ 31 октября 2018

После долгих поисков я обнаружил, что это была одна из моих библиотек, которая вызывала эту проблему.Библиотека, которую я использовал, была несовместима с Gradle 3.2.1 и вызывала проблемы при компиляции.

0 голосов
/ 11 декабря 2018

Я просто повторяю следующий код

<item type="id" name="checkColor">false</item>

на

<item type="id" name="checkColor"></item>
0 голосов
/ 31 октября 2018

Решение: создайте файл с именем ids.xml в папке res / values ​​и поместите это содержимое:

`<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="sos_key_shift_state" type="id"/>
<item name="cc_card" type="id" />
<item name="cc_ccv" type="id" />
<item name="cc_entry" type="id" />
<item name="cc_entry_internal" type="id" />
<item name="cc_exp" type="id" />
<item name="cc_form_layout" type="id" />
<item name="cc_four_digits" type="id" />
<item name="cc_zip" type="id" />
<item name="text_helper" type="id" />
</resources>`

Это решило мои проблемы ...

...