Android:为什么我们需要使用 R2 而不是 butterknife 的 R?

Android: Why do we need to use R2 instead of R with butterknife?

我已经使用 butterknife 几个月了,我刚刚注意到它的文档中说:

Now make sure you use R2 instead of R inside all Butter Knife annotations.

这是为什么?我一直在使用 R,一切都很完美。

只有构建 Android 个库项目才需要使用 R2。

https://github.com/JakeWharton/butterknife#library-projects

这与以下事实有关:R.java 生成的 class 中的值在构建为库的一部分时未声明为 "final"。用于 @BindView() 的注释需要这些 R. 值是最终的并且以后不会更改。

我相信有人可以更好地解释这一切——但最重要的是——你在 Android 应用程序 [=11] 中使用 @BindView 中的 "R." 值就可以了=]