Как преобразовать проект Android Eclipse, чтобы использовать Ant для сборки? - PullRequest
39 голосов
/ 15 декабря 2010

У меня есть проект Android в Eclipse, который я хотел бы преобразовать в Ant .

Как мне этого добиться? Я попытался экспортировать файл сборки Ant, но я почти уверен, что это не сработает (и не работает при запуске ant с экспортированным файлом). Я тоже мало что знаю об Ant, поэтому некоторые объяснения тоже помогут.

РЕДАКТИРОВАТЬ: теперь мне, кажется, удалось создать необходимый файл сборки, но мне нужно добавить библиотеки проектов, такие как admob.jar, которые будут видны ant и используются для сборки. как я получаю следующую ошибку

        -dex:
     [echo] Converting compiled files and external libraries into C:\Users\Jason
\Documents\Programming\Android\Android SVN\trunk\GPSAlarm\BusSnooze\bin\classes.
dex...
    [apply]
    [apply] UNEXPECTED TOP-LEVEL EXCEPTION:
    [apply] com.android.dx.util.ExceptionWithContext
    [apply]     at com.android.dx.util.ExceptionWithContext.withContext(Exceptio
nWithContext.java:46)
    [apply]     at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslato
r.java:340)
    [apply]     at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.ja
va:131)
    [apply]     at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.jav
a:85)
    [apply]     at com.android.dx.command.dexer.Main.processClass(Main.java:297)

    [apply]     at com.android.dx.command.dexer.Main.processFileBytes(Main.java:
276)
    [apply]     at com.android.dx.command.dexer.Main.access$100(Main.java:56)
    [apply]     at com.android.dx.command.dexer.Main$1.processFileBytes(Main.jav
a:228)
    [apply]     at com.android.dx.cf.direct.ClassPathOpener.processArchive(Class
PathOpener.java:245)
    [apply]     at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPath
Opener.java:130)
    [apply]     at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpe
ner.java:108)
    [apply]     at com.android.dx.command.dexer.Main.processOne(Main.java:245)
    [apply]     at com.android.dx.command.dexer.Main.processAllFiles(Main.java:1
83)
    [apply]     at com.android.dx.command.dexer.Main.run(Main.java:139)
    [apply]     at com.android.dx.command.dexer.Main.main(Main.java:120)
    [apply]     at com.android.dx.command.Main.main(Main.java:87)
    [apply] Caused by: java.lang.NullPointerException
    [apply]     at com.android.dx.cf.code.ConcreteMethod.<init>(ConcreteMethod.j
ava:84)
    [apply]     at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslato
r.java:243)
    [apply]     ... 14 more
    [apply] ...while processing <init> ()V
    [apply] ...while processing com/google/android/apps/analytics/AnalyticsRecei
ver.class
    [apply]
    [apply] 1 error; aborting

Ответы [ 3 ]

55 голосов
/ 15 декабря 2010

Выполнение android update project -p . в командной строке, в базовой папке вашего проекта создаст необходимые build.xml и вспомогательные файлы для сборки Ant.

8 голосов
/ 06 июня 2013

Вы можете создать файл сборки муравья непосредственно из Eclipse it self .. Из меню File

Вот шаги по созданию build.xml для любого проекта в eclipse

Файл -> Экспорт -> Общие -> Файлы сборки Ant и выберите нужный проект для создания файла сборки.

1 голос
/ 15 декабря 2010

Хотя функция «Run Configuration to Ant» может отсутствовать, вы все равно можете открыть конфигурацию запуска и просмотреть настройки.

На сайте разработчиков Android есть раздел на с использованием «Другие IDE» ;здесь они расскажут немного об использовании Ant для компиляции, если вы уже знакомы с Ant.

...