Android: почему мы должны использовать R2 вместо R с ножом?

Я пользуюсь Butterknife в течение нескольких месяцев, и я просто заметил в документации, что он говорит:

Теперь убедитесь, что вы используете R2 вместо R во всех аннотациях Butter Knife.

Это почему? Я использую R, и все работает отлично.

1 ответ

Решение

Использование R2 необходимо только для создания проектов библиотеки Android.

https://github.com/JakeWharton/butterknife

Это связано с тем, что значения в сгенерированном классе R.java не объявляются как "окончательные" при сборке в составе библиотеки. Для аннотаций, используемых для @BindView(), эти значения R. должны быть окончательными и не подлежать изменению в дальнейшем.

Я уверен, что кто-то мог бы объяснить все это лучше - но суть в том, что - вы просто прекрасно используете "R." значения в @BindView в приложении Android

Другие вопросы по тегам