如何转换Eclipse Android项目以使用Ant进行构建?

时间:2010-12-15 19:42:00

标签: android eclipse ant build android-build

我在Eclipse中有一个Android项目我希望将其转换为使用 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 个答案:

答案 0 :(得分:55)

在命令行上运行android update project -p .,在项目的基础文件夹中将为Ant构建创建必要的build.xml和支持文件。

答案 1 :(得分:8)

您可以直接从eclipse自己创建ant构建文件..从文件菜单

以下是为eclipse中的任何项目创建build.xml的步骤

档案 - &gt;出口 - &gt;一般 - &gt; Ant Buildfiles并选择创建构建文件所需的项目。

答案 2 :(得分:1)

虽然可能没有“运行配置到Ant”功能,但您仍然可以打开运行配置并查看设置。

Android开发者网站上有using "Other IDEs"部分;如果你已经熟悉Ant,他们会在这里介绍使用Ant进行编译。