Библиотека Android не перетягивает свои ресурсы в другие проекты
У меня есть проект Android, который я пытаюсь сделать в библиотеке. Я получаю исключение, указанное в этом коде:
_buttonStart = (Button) findViewById(R.id.buttonStart);
Исключением я получаю:
java.lang.NoSuchFieldError: com.xxx.libraryname.R$id.buttonStart
В документах Android явно говорится, что библиотека должна иметь доступ к этим ресурсам:
"Например, исходный код в проекте библиотеки может получить доступ к своим собственным ресурсам через свой класс R.
Когда я смотрю в библиотеке /gen/com.xxx.libraryname/R.java/R/id/
, появляется buttonStart. Но когда я смотрю в основном проекте /gen/com.xxx.libraryname/R.java/R/id
, это не так.
Я сделал make clean.
Ответы
Ответ 1
В вашем проекте библиотеки также есть основной макет main.xml в качестве основного проекта.
Android будет отдавать приоритет хост-проекту, если оба имеют одно и то же имя макета, в этом случае "main.xml" . Лучший подход - использовать некоторые префиксные обозначения, чтобы не происходило случайных столкновений.