如何将Eclipse的Android项目转换为使用Ant进行构建? [英] How to convert an Eclipse Android project to use Ant for build?

查看:157
本文介绍了如何将Eclipse的Android项目转换为使用Ant进行构建?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Eclipse中有一个Android项目,我想转换为使用 Ant 来构建。



我该如何实现?我已经尝试导出一个Ant构建文件,但我很确定这不会工作(也不用运行ant与导出的文件)。我不太了解Ant,所以一些解释也将有所帮助。



编辑:现在我似乎设法创建了所需的构建文件,但是我需要添加项目libs像admob.jar,被ant看到并用于构建。
,因为我收到以下错误

  -dex:
[echo]转换已编译的文件和外部库进入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]在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]在com.android.dx.command.dexer.Main.processClass(Main.java:297 )

[应用]在com.android.dx.command.dexer.Main.processFileBytes(Main.java:
276)
[apply]在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(Cla $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $

] at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpe
ner.java:108)
[apply]在com.android.dx.command.dexer.Main.processOne(Main .java:245)
[apply] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:1
83)
[apply]在com.android。 dx.command.dexer.Main.run(Main.java:139)
[apply] at com.android.dx.command.dexer.Main.main(Main.java:120)
[apply ]在com.android.dx.command.Main.main(Main.java:87)
[apply]引起的:java.lang.NullPointerException
[apply]在com.android.dx.cf .code.ConcreteMethod。< init>(ConcreteMethod.j
ava:84)
[apply]在com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslato
r。 java:243)
[apply] ...另外
[apply] ...同时处理< init> ()V
[apply] ...处理com / google / android / apps / analytics / AnalyticsRecei
ver.class
[apply]
[apply] 1错误;中止


解决方案

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


I have an Android project in Eclipse I would like to convert to be built with Ant instead.

How can I achieve this? I have tried exporting an Ant build file but I'm pretty sure that's not going to work (nor does it when running ant with the exported file). I do not know much about Ant either so some explanation would also help.

EDIT: now I seem to have managed to create the needed build file but I need to add the projects libs like admob.jar to be seen by ant and used to build. as I am getting the following error

        -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

解决方案

Running android update project -p . on the command line, in the base folder of your project will create the necessary build.xml and supporting files for an Ant build.

这篇关于如何将Eclipse的Android项目转换为使用Ant进行构建?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆