Как скомпилировать и собрать Jar-проект с использованием Ant? - PullRequest
5 голосов
/ 23 февраля 2012

Я пытаюсь разобраться со всей этой системой сборки Ant.Я создал build.xml, который Android изначально предоставляет мне, используя команду: android update project -p ..

. Хотя это дало мне файл шаблона build.xml, я бы хотел еще пару вариантов.В частности, я хотел бы иметь возможность JAR и / или Компилировать мой проект;желательно с номером версии.

Бонусный вопрос: как я могу исключить файлы из моей сборки JAR.Например, у меня есть одно действие, которое я использовал для проверки своей функциональности, но я не хочу, чтобы это было включено в окончательный JAR.

Мой файл build.xml, предоставленный мне Android, называется Gisted здесь , поскольку он довольно длинный (в основном комментарии).

РЕДАКТИРОВАТЬ : Я также использую IntelliJ, так что никаких подробностей Eclipse, пожалуйста!

Ответы [ 2 ]

14 голосов
/ 23 февраля 2012

В частности, я хотел бы иметь возможность JAR и / или скомпилировать мой проект;желательно с номером версии.

В Android номера версий предназначены для приложений, а не JAR.

При этом добавление цели jar является вопросом добавления этого кВаш файл build.xml внизу:

<target name="jar" depends="debug">
    <jar
        destfile="bin/whatever-you-want-to-call-the.jar"
        basedir="bin/classes"
    />
</target>

Затем запустите ant jar, чтобы скомпилировать и упаковать файл JAR.

Вы увидите этот шаблон в большинстве повторно используемых компонентов Androidв моей области GitHub (см. репозитории cwac-).

Бонус Вопрос: Как я могу исключить файлы из моей сборки JAR.Например, у меня есть одно действие, которое я использовал для проверки своей функциональности, но я не хочу, чтобы это было включено в окончательный JAR.

Используйте excludes или excludesfile,как описано в jar документации по задаче Ant .

1 голос
/ 23 февраля 2012

Для повторного использования проектов Android и не Android, я бы посоветовал вам взглянуть на плагин Android Maven. Он использует преимущества управления зависимостями и другие мощные функции Maven и будет гораздо более подходящим для того, что вы хотите сделать.

Ознакомьтесь с веб-страницей и документацией на ней и, возможно, с главой о разработке Android в Maven: полный справочник Я написал, чтобы получить немного больше понимания, а также есть на что посмотреть примерно в Maven.

Плагин Android поддерживает повторное использование для обычных артефактов jar, и если в коде есть зависимости Android, вы можете использовать проекты apklib. Многие проекты, такие как Roboguice, robolectric, actionbarsherlock и другие, успешно используют эту функцию.

...