有些我还不明白的原因,aapt和aapt2输出的ID不一样。他们有什么方法可以强制 aapt2 输出 aapt 生成的相同 ID 吗?
不,您甚至不能强制
aapt
resp aapt2
保证在连续运行中分配相同的资源 ID。 R.java
文件中的 ID 在应用程序运行时是静态的,但会在编译时动态分配。
不鼓励甚至触摸
R.java
文件和资源ID。您也不需要出于任何目的know那些ID。只需使用常见的文档化方法访问应用程序资源,您就可以了。
NB:有一些方法可以预定义 ID,例如在这个 Stackoverflow thread 中描述,使用 R.id 类。但是像这样的技巧不应该有很多实际用例。通常你会让事情变得不必要的复杂。