У меня есть проект Library
и проект, который зависит от этого проекта библиотеки. Все компилируется отлично, и у меня был проект Dependent
, который работает нормально,
У меня проблема с периодичностью, но при использовании Activity из проекта Library
.
Мой проект Library
может быть "не отмечен" как проект библиотеки, а "сборщик" может выполняться изолированно. Выполнение проекта Library
в его собственном праве отлично работает без проблем.
Когда я использую проект Library
(и действие "picker" ) из зависимого проекта, он дает мне либо ошибки NullPointerExceptions
(или исторически DexOp), что активность "сборщика" не может найти ресурсы.
Может ли кто-нибудь сказать мне, если они испытали это раньше?
EDIT
Вручную копирование layout.xml
, используемого в проекте проекта Library
для зависимого проекта, заставляет проект правильно открыть "сборщик". Это необходимо?! Неужели нет? Это еще больше заставляет меня задаться вопросом, существует ли проблема с объединением/ссылкой на целочисленный идентификатор из R.java
в проекте Library
.
ИЗМЕНИТЬ
Я не уверен, что это имеет какое-то значение, но один из моих проектов Library
- это оболочка вокруг набора пользовательских представлений, используемых в разных проектах переднего плана.
Эти пользовательские представления имеют активность, чтобы их можно было тестировать изолированно.
В одном из этих представлений есть пользовательские атрибуты, которые при работе в изоляции работают очень хорошо. Однако, похоже, что зависимый проект правильно втягивает атрибуты и сохраняет их в своем исходном пространстве имен, заставляя импортированный макет выдавать ошибки компиляции:
[2012-05-16 12:07:28 - Project] D:\opt\workspace\CustomGlowList\res\layout\main.xml:14: error: No resource identifier found for attribute 'listId' in package 'com.company.library.glowlist'
[2012-05-16 12:07:28 - Project] D:\opt\workspace\CustomGlowList\res\layout\main.xml:14: error: No resource identifier found for attribute 'type' in package 'com.company.library.glowlist
EDIT
Ошибки DexOp были решены путем удаления дублированного имени файла, которое присутствовало в проекте Dependent
. Не уверен, что имя файла было проблемой или содержимым файла.
ИЗМЕНИТЬ
Я пока не смог найти решение этой проблемы (хотя ответ @yorkw, безусловно, помогает с атрибутами xml!).
Однако мне удалось сделать эту проблему прерывистой:
Я прошел через каждый из проектов библиотеки и гарантировал, что у всех у них есть собственное пространство имен (т.е. com.company.library.component1
, com.company.library.component2
и т.д.). После нескольких чистых (каждый проект упорядочен с правильным приоритетом) эта проблема решает сам, однако в конечном итоге возвращается при переключении библиотеки/не библиотеки для тестирования компонентов.