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
- 最小Sdk版本= 21
- 目标服务器版本= 28
- 编译Sdk版本= 28
- 构建工具版本="28.0.2"
8条答案
按热度按时间4zcjmb1e1#
在资源中声明id时,主体应为空
欲了解更多信息,请看看下面的链接
https://developer.android.com/guide/topics/resources/more-resources#Id
如奥利弗Manyasa所述,应如下所示
xcitsw882#
我在升级到Android Studio 3.2.1后遇到了类似的问题
指向ids.xml文件中的此项时出错
如用户Sangeet Suresh所述,我将其更改为
这就解决了问题。
rt4zxlrg3#
对于那些还在绞尽脑汁寻找解决方案的人来说,可以在
src/main/res/values
中创建ids.xml
,其内容类似于以下内容(但请确保使用您看到错误的id更新它):现在,Android Studio将向您显示显式值的错误,如果这些值来自您正在使用的某个库,则您无法在中间文件中进行更改,因此请改为在此处进行更改,合并代码时Android Studio会处理该问题。
amrnrhlw4#
在您的资源文件上删除结束标记和正文,即删除“tv_deviceName”
让你的资源文件像这样:
qc6wkl3g5#
对我来说,这实际上是失败的,因为新的gradle版本。我很肯定,我使用的一些插件与最新的gradle不兼容。我最终成功构建了以下版本:
gradle-wrapper.properties file:
构建. gradle文件
编辑:
由于我们现在想使用3.2.+版本,这不是一个可靠的解决方案。
最后,我创建了一个新的ids.xml文件,并覆盖了所有冲突的值。
ids.xml文件示例:
7fhtutme6#
我只是在
res/xml/values
中创建了这个自动生成的文件,其中包含如下空标记这招管用!
blpfk2vs7#
我有以下错误
在我的例子中,我创建了新的测试项目,并从activity_main. xml文件中删除了工具栏和fab,但这些也在ids.xml文件中。从ids.xml文件中删除这两个ID后,我可以运行。在您的ids.xml文件中,您可能有很多ID,但由于我创建了一个新项目,因此,它没有ID。
在上面的屏幕截图中,您可以看到确切的文件位置。
5us2dqdw8#
在
values
文件夹中,我双击了导致此问题的ids.xml
文件我试着回答了一些投票结果:
但我得到一个错误说:
因此,为了修复,我只是添加了匹配的结束标记:
我是
Kotlin
的新手,所以我刚刚注意到,但我没有意识到的是,<item name="roll_button" type="id" />
需要在结尾处的正斜杠在结束>
之前。如果你不包括它,那么你会得到我得到的错误,但如果你包括它,t他接受的答案工作。