由于一些原因,我还不明白,aapt和aapt2不输出相同的ID。他们有没有办法强迫aapt2输出由aapt生成的相同ID?
cunj1qz11#
不能,你甚至不能强制aapt和aapt2在连续运行中保证分配相同的资源ID。R.java文件中的ID在应用运行时是静态的,但在编译时会动态分配。为了简短地讨论原因,您可以查看这个关于资源ID的用途和结构的Stackoverflow线程。此外,不鼓励您接触R.java文件和资源ID。您也不需要出于任何目的 * 知道 * 这些ID。只需使用常见的文档方法访问应用程序资源,您就可以完全正常。注意:有一些方法可以预定义ID,例如在这个Stackoverflow thread中描述的,使用R.id类。但是像这样的技巧不应该有很多真实的的用例。通常你会把事情变得不必要的复杂。
aapt
aapt2
R.java
1条答案
按热度按时间cunj1qz11#
不能,你甚至不能强制
aapt
和aapt2
在连续运行中保证分配相同的资源ID。R.java
文件中的ID在应用运行时是静态的,但在编译时会动态分配。为了简短地讨论原因,您可以查看这个关于资源ID的用途和结构的Stackoverflow线程。
此外,不鼓励您接触
R.java
文件和资源ID。您也不需要出于任何目的 * 知道 * 这些ID。只需使用常见的文档方法访问应用程序资源,您就可以完全正常。注意:有一些方法可以预定义ID,例如在这个Stackoverflow thread中描述的,使用R.id类。但是像这样的技巧不应该有很多真实的的用例。通常你会把事情变得不必要的复杂。