Подтвердить что ты не робот

Библиотека 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.

4b9b3361

Ответ 1

В вашем проекте библиотеки также есть основной макет main.xml в качестве основного проекта.

Android будет отдавать приоритет хост-проекту, если оба имеют одно и то же имя макета, в этом случае "main.xml" . Лучший подход - использовать некоторые префиксные обозначения, чтобы не происходило случайных столкновений.