Как ссылаться на внешний jar-файл в проекте библиотеки Android в Eclipse - PullRequest
13 голосов
/ 14 сентября 2010

ах андроид.Как я люблю твои слова.

У меня есть рабочее пространство с несколькими проектами.App1 и App2 являются приложениями для Android.Common - это проект библиотеки Android.App1 и App2 зависят от общего (связано через вкладку Android).

Common имеет некоторые внешние зависимости, а именно httpmime & apache-mime4j, которые существуют в виде jar-файлов.

По какой-то причине мне кажется, что мне нужно добавить свои mime jar в путь сборкиApp1 и App2 для успешной компиляции.Это кажется действительно глупым.В обычной Java я бы добавил Common к пути сборки App1 и App2, и все заработало бы.Ожидается ли это, что я должен добавить свои jar-файлы в каждое Android-приложение?

-Andy

Примечание. Если я не настрою путь сборки, как описано выше, я получу «Тип org».apache.james.mime4j.message.SingleBody не может быть разрешен. На него косвенно ссылаются необходимые файлы .class | DataCallUtil.java | / App1 / Common / util | line 364 "

Ответы [ 3 ]

8 голосов
/ 01 ноября 2010

Я думаю, что Омермухаммед и Амит не поняли, что Виссер говорит о проекте библиотеки для Android.Для тех проектов я не думаю, что возможно создать банку.(jar не имеет ничего общего со всеми ресурсами Android).

Исходя из моего опыта работы с библиотечным проектом Android, этот проект представляет собой, в основном, исходные тексты и ресурсы, упакованные и готовые для включения вдругой проект.Но настройки не являются частью пакета, поэтому вы должны включить libs для каждого приложения.По моему опыту, эта настройка не часто меняется, поэтому она не так уж и плоха.

Android Library Project все еще далеки от совершенства, но все же является огромным улучшением по сравнению с тем, что было раньше (т.е. ничего).

1 голос
/ 12 октября 2010

Для дополнения ответа Омермухаммеда, если проект common не часто меняется, создание jar и использование его в других проектах является хорошим решением.

Чтобы создать jar, щелкните правой кнопкой мыши проект в Eclipse -> Export -> Java -> JAR file, затем выберите папки, которые вы хотите включить в JAR, в вашем случае, я думаю, это включает в себя папки gen и libs (libs - это папка с JARS httpmime & apache-mime4j), но, вероятно, ни res , ни корневой каталог вашего проекта (с такими файлами, как AndroidManifest. xml, который вызовет проблемы с тем же файлом в зависимых проектах).

0 голосов
/ 14 сентября 2010

Попробуйте скомпилировать проект Common в jar и добавить его в качестве внешнего jar в свои проекты App1 или App2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...