2011-12-15 5 views
0

Я смоделировал несколько простых классов в свой собственный проект для повторного использования в другом месте. Эти классы обычно содержат только поля и методы доступа (т. Е. Ничего конкретного Android).Упаковка jar для Android

Они позже упакованы с использованием ant's jar task и хранятся в репозитории Maven.

В Android-проекте я сохранил указанный файл jar в каталоге libs и добавлен в путь сборки. Однако при запуске эмулятора я получаю исключение «class not found», относящееся к моему пакету. Другие сторонние библиотеки (например, GSon) хорошо подбираются.

Есть ли какие-либо конкретные шаги, необходимые для создания файла jar, совместимого с Android? (This reply, похоже, предлагает иное). Как я могу отладить это дальше?

ответ

0

Эта проблема возникла в результате компиляции jar в Java 7. Android does not support Java 7 (пока).

Компиляция байт-кода Java 6 путем установки target="1.6" в antjavac task решена проблема.

0

Нет, если вам не нужно, например. классы из javax. *, которые не находятся в Android. Если бы я был вами, я бы рассмотрел возможность использования Android Maven Plugin для вашей сборки. Посмотрите пример morseflash из официальной коллекции образцов. Он демонстрирует именно ваш сценарий.

0

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

Так откройте свойство проекта, откройте Путь сборки Java параметров и убедитесь, что у вас есть JAR выбран в качестве экспортируемой зависимости в заказе и экспорт вкладки.

UPDATE

Это то, что ваша запись следует читать:

<classpathentry exported="true" kind="lib" path="libs/tlvince-dao-0.1.0.jar"/> 

Я также раздвоенный в updated version вашей сущности.

+0

Хорошая идея. Я пробовал это безрезультатно ... – tlvince

+0

Не могли бы вы добавить сущность файла * .classpath * вашего проекта, чтобы мы могли отлаживать? –

+0

Несомненно, вот оно: https://gist.github.com/1490217 – tlvince