Пакет атрибутов тега манифеста и проблема класса R

com.XXX.XXX определяется в androidManifest следующим образом: package="com.XXX.XXX" . В проекте есть несколько других пакетов, которые не определены в манифесте.

За исключением пакета, определенного в манифесте ( package="com.XXX.XXX" ), все остальные пакеты, в которых используется ресурс, имеют ошибку - R не может быть преобразован в переменную.

Я проверил и подтвердил следующее -

  1. Ни в одном java-файле нет операторов import android.R или import com.XXX.XXX.R.
  2. Удалил файл R.java под gen и восстановил его.
  3. Обновил проект и сделал чистую сборку.
  4. Проверил файлы макета .xml на наличие ошибок, консоль ничего не показывает.

Проект работал нормально, я не уверен, но я думаю, что эта ошибка возникла после выполнения layoutopt.bat в каталоге инструментов.

Есть ли что-нибудь еще, что я могу проверить, чтобы устранить эту ошибку.

Спасибо, Салил.


person Salil    schedule 18.03.2011    source источник


Ответы (2)


Выполните очистку проекта из меню «Проект» в Eclipse. И в любом файле с ошибками нажмите ctrl+o, чтобы исправить импорт.

person Robby Pond    schedule 18.03.2011
comment
Робби, ваше решение работает, но во многих сообщениях я читал, что com.XXX.XXX.R не следует импортировать вручную. Ваше решение лучше или решение Венкатеша? - person Salil; 18.03.2011
comment
Если вам нужно использовать его, и он находится в другом пакете, вам нужно будет импортировать его, как и любой другой класс. - person Robby Pond; 18.03.2011

Вы можете получить доступ к ресурсам вашего приложения из другого пакета через com.XXX.XXX.R.[...]

person Martin Matysiak    schedule 18.03.2011