2012-02-22 2 views
5

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

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

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

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

EDIT: Я также использую IntelliJ, поэтому нет особенностей Eclipse, пожалуйста!

+2

Что вы подразумеваете под «JAR и компилируете мой проект», учитывая, что приложения для Android не являются файлами JAR? – CommonsWare

+0

@CommonsWare, я действительно имею в виду две «цели». 1.Скомпилируйте мой код, чтобы классы и файлы dex и все, что находится в их правильных каталогах. 2. JAR эти файлы классов, которые я хочу, чтобы я мог распространять свою «библиотеку» Android соответственно. – hwrdprkns

+0

Кроме того, я должен уточнить. Я не знаю, соответствует ли мой проект «библиотечным» или нет. Но у меня просто есть код, который использует Android SDK, который я хочу JARed, чтобы я мог использовать его в другом приложении. Не действия, просто другой код. – hwrdprkns

ответ

14

В частности, я хотел бы иметь возможность 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 для повторного использования в my GitHub area (см. Репозитории cwac-).

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

excludes использования или excludesfile, как описано в jar Ant task documentation.

+0

Perfect. В стороне, 'excludes =" **/ExcludedFile.class "исключает файл, который вам не нравится. И 'depend =" debug "является магией, требующей предварительной компиляции. – hwrdprkns

+0

@hwrdprkns Не могли бы вы немного объяснить, что вы подразумеваете под «магией, требующей предварительной компиляции»? Вы говорите, что указание «depend = 'debug» заставляет муравьев скомпилировать перед тем, как построить банку? EDIT: На самом деле, прочитав больше, означает ли это, что, когда вы называете «ant jar», он понимает, что сначала нужно выполнить «ant debug»? И я предполагаю, что мы используем debug вместо релиза, потому что мы не заботимся о подписании контракта на банку? –

1

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

Оформить заказ webpage and documentation на нем и, возможно, в главе о Android development in Maven : The Complete Reference Я написал, чтобы получить немного больше понимания, а также что-то посмотреть на Maven.

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

+0

Не то, о чём задавался вопрос, а +1, поскольку это выглядит как удивительный инструмент, который я должен узнать. – hwrdprkns

+0

Нет проблем .. просто пытаясь спасти вас от xml ад и много бонусов при обновлении, как только вы начнете настраивать муравьиную сборку. –

Смежные вопросы