在布局xml中添加新视图时,我注意到在使用带有错误消息@+id/package
的标识error: invalid symbol: 'package'
时,我的构建失败了。然后我开始进行实验,发现当aapt正在运行时,诸如public
,void
,int
等Java关键字会导致此错误。
为什么会出现此错误?
答案 0 :(得分:2)
资源编译器将您的资源ID转换为类R.id
的字段(您可以通过查看编译资源时自动生成的R.java
文件来查看)。由于将Java关键字用作类字段名称是非法的,因此使用Java关键字作为资源名称(无论是id,布局还是其他任何内容)都是违法的。
请注意,出于同样的原因,您不能将数字用作资源名称(例如,您不能使用名为“3.png”的图形文件)。所有资源名称都必须是有效的Java标识符。