Как импортировать библиотеку Android и использовать ее как в рабочем коде, так и в тестах? - PullRequest
6 голосов
/ 27 мая 2011

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

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

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

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

Ответы [ 2 ]

2 голосов
/ 27 мая 2011

Это ошибка в IDEA, мы представили проблему для нее, пожалуйста, смотрите / голосуйте .

0 голосов
/ 27 мая 2011

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

Существует два способа добавить банку в ваш проект

Right on Project->Properties->Java Build Path->Add Jars->
Right on Project->Properties->Java Build Path->Add External jars->

сначала удалите все банки. внутри папки вашего приложения создайте папку, в которую поместите все необходимые банки.

Right on Project->Properties->Java Build Path->Add Jars-> select your project folder and select the jar file

Спасибо Дипак

...