Android - 内部元素必须是资源引用或为空 [英] Android - Inner element must either be a resource reference or empty

查看:39
本文介绍了Android - 内部元素必须是资源引用或为空的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

错误详情

AGPBI: {"kind":"error","text":"error: u003citemu003e inner element must either be a resource reference or empty.","sources":[{"file":"...\app\src\main\res\values\ids.xml","position":{"startLine":2,"startColumn":4,"startOffset":57,"endColumn":61,"endOffset":114}}],"original":"","tool":"AAPT"}
:app:mergeDebugResources
Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details
:app:mergeDebugResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeDebugResources'.
> Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details.

资源文件

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

构建环境

  • Android Studio 3.1.4
  • minSdkVersion = 21
  • targetSdkVersion = 28
  • compileSdkVersion = 28
  • buildToolsVersion = "28.0.2"

推荐答案

在资源中声明id时,body应该为空

When declaring id in resources, the body should be empty

<item
    type="id"
    name="id_name" />

欲了解更多信息,请查看以下链接

For more info please have a look on below link

https://developer.android.com/guide/topics/资源/更多资源#Id

所以正如Oliver Manyasa所提到的,它应该如下

So as Oliver Manyasa mentioned, it should be as below

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

这篇关于Android - 内部元素必须是资源引用或为空的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆