【问题标题】:Error: <item> inner element must either be a resource reference or empty错误:<item> 内部元素必须是资源引用或为空
【发布时间】:2019-03-11 03:33:11
【问题描述】:

将 Gradle 升级到版本 4 后,我无法编译我的项目。 Android Studio 报错:

Android 资源编译失败 C:\Users\user\AndroidStudioProjects\grow_director_v2_net\app\build\intermediates\incremental\mergeDevDebugResources\merged.dir\values\values.xml:1475:错误:内部元素必须是资源引用或为空。 C:\Users\user\AndroidStudioProjects\grow_director_v2_net\app\build\intermediates\incremental\mergeDevDebugResources\merged.dir\values\values.xml:1477:错误:内部元素必须是资源引用或为空。 C:\Users\user\AndroidStudioProjects\grow_director_v2_net\app\build\intermediates\incremental\mergeDevDebugResources\merged.dir\values\values.xml:1478:错误:内部元素必须是资源引用或为空。 C:\Users\user\AndroidStudioProjects\grow_director_v2_net\app\build\intermediates\incremental\mergeDevDebugResources\merged.dir\values\values.xml:1479:错误:内部元素必须是资源引用或为空。 C:\Users\user\AndroidStudioProjects\grow_director_v2_net\app\build\intermediates\incremental\mergeDevDebugResources\merged.dir\values\values.xml:1480:错误:内部元素必须是资源引用或为空。 C:\Users\user\AndroidStudioProjects\grow_director_v2_net\app\build\intermediates\incremental\mergeDevDebugResources\merged.dir\values\values.xml:1481:错误:内部元素必须是资源引用或为空。 C:\Users\user\AndroidStudioProjects\grow_director_v2_net\app\build\intermediates\incremental\mergeDevDebugResources\merged.dir\values\values.xml:1482:错误:内部元素必须是资源引用或为空。 C:\Users\user\AndroidStudioProjects\grow_director_v2_net\app\build\intermediates\incremental\mergeDevDebugResources\merged.dir\values\values.xml:1483:错误:内部元素必须是资源引用或为空。 C:\Users\user\AndroidStudioProjects\grow_director_v2_net\app\build\intermediates\incremental\mergeDevDebugResources\merged.dir\values\values.xml:1493:错误:内部元素必须是资源引用或为空。 C:\Users\user\AndroidStudioProjects\grow_director_v2_net\app\build\intermediates\incremental\mergeDevDebugResources\merged.dir\values\values.xml:1714:警告:忽略具有未知命名空间“http://schemas.android.com/apk/res/android”的元素“g”。

通过此链接具有以下属性:

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

我没有设置所有这些属性。

我已经看到了这些问题:

compileSdkVersion 28 supportLibVersion = "28.0.0" 类路径'com.android.tools.build:gradle:3.3.0-alpha13'

【问题讨论】:

标签: android xml android-studio gradle sdk


【解决方案1】:

我的项目包含一个不适用于 Android Studio 3.2.0 的库“Android-RecurrencePicker”。 作者更新他的库时遇到问题 - https://github.com/Shusshu/Android-RecurrencePicker/issues/17#issuecomment-428330873

最终,解决方案是将这个 3d 方库下载到项目并包含在本地项目中。在此之后,我手动更改了该库的依赖项并重构了代码。

【讨论】:

    【解决方案2】:

    更新 IDE 后我也遇到了同样的错误。我可以通过将它添加到字符串资源来解决它。

    首先:我改变这个

    &lt;item name="animator" type="id"&gt;false&lt;/item&gt;

    &lt;item name="animator_false" type="id"/&gt;

    其次:我添加了

    &lt;string name="animator_false"&gt;false&lt;/string&gt;

    到strings.xml。 问题解决了。

    【讨论】:

    • false 我的代码中没有这一行,这一行来自库“Android-RecurrencePicker”。我自己无法更改。
    • 检查 res/values 目录下的所有文件,您将看到包含显示错误内容的文件。然后按照上面的步骤。就我而言,我在 ids.xml 文件中看到了它,我按照步骤操作,它可以工作。
    猜你喜欢
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多