Упаковка баночки для Android - PullRequest
0 голосов
/ 15 декабря 2011

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

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

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

Существуют ли какие-либо конкретные шаги, необходимые для обеспечения совместимости файла jar с Android? ( Этот ответ , похоже, предполагает иное). Как я могу отладить это дальше?

Ответы [ 3 ]

0 голосов
/ 15 декабря 2011

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

Итак, откройте свойства проекта, откройте опции Java Build Path и убедитесь, что JAR выбран в качестве экспортируемой зависимости на вкладке Порядок и экспорт . *

UPDATE

Вот что должна прочитать ваша запись:

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

Я также разбудил обновленную версию вашей сути.

0 голосов
/ 27 января 2012

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

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

0 голосов
/ 15 декабря 2011

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

...