Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在布局 xml 中添加新视图时,我注意到在使用@+id/package带有错误消息的 id 时我的构建失败error: invalid symbol: 'package'。然后我开始试验,发现在 aapt 运行时,Java 关键字(如public、void、等)会导致此错误。int
@+id/package
error: invalid symbol: 'package'
public
void
int
为什么会出现这个错误?
资源编译器将您的资源 id 转换为类的字段R.id(您可以通过查看R.java资源编译时自动生成的文件来查看)。由于使用 Java 关键字作为类字段名称是非法的,因此使用 Java 关键字作为资源名称(无论是 id、布局还是其他任何东西)都是非法的。
R.id
R.java
请注意,出于同样的原因,您不能使用数字作为资源名称(例如,您不能拥有名为“3.png”的图形文件)。所有资源名称都必须是有效的 Java 标识符。