Как мне импортировать библиотеку Android и использовать ее как в производственном коде, так и в тестах?

Я извлек из своего приложения кучу функций в библиотеку. Проблема в том, что я хотел бы использовать классы библиотеки как в производственном коде, так и в тестах. Проблема в том, что мое приложение, моя библиотека и тестовый код являются отдельными модулями, поэтому и код приложения, и тестовый код должны зависеть от библиотеки. Когда я пытаюсь скомпилировать тестовый модуль, я получаю следующую ошибку:

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: (some class)

Это загадочно, но я пытаюсь сказать, что я пытался добавить один и тот же класс в файл .dex более одного раза. Это не слишком удивительно, поскольку тестовый код зависит от кода библиотеки и от приложения во время компиляции, что также зависит от библиотеки во время компиляции. Как мне настроить свои зависимости (или изменить свой код), чтобы избежать этого?

ПРИМЕЧАНИЕ: Я использую IntelliJ IDEA 10.5 CE, поэтому я использую их терминологию, но я думаю, что проблема, по крайней мере, концептуально IDE -агностика.

6
задан Lyudmil 27 May 2011 в 14:26
поделиться