本文介绍了Android-内部元素必须是资源引用或为空的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
错误详细信息
AGPBI: {"kind":"error","text":"error: \u003citem\u003e 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时,主体应为空
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/资源/more-resources#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-内部元素必须是资源引用或为空的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!