2010-10-15 46 views
2

所以我做了一个包含2个源代码目录的项目:一个用于实际代码,另一个用于测试。 它在eclipse中运行良好,但后来我决定开始使用命令行和ant工具。android build.xml多个源目录

Android已经生成的build.xml的内置功能,所以我用命令“的Android更新项目-p项目名”

这build.xml文件安装工作正常,我可以运行的应用程序模拟器。但是,它仅编译我的源代码目录中的文件,并且未编译我的测试目录中的文件。这意味着我不能从命令行运行我的单元测试,如果我这样做,我得到类未发现异常。

是否有任何方法可以包含另一个源目录,以便它可以编译我的单元测试?

这是生成(其余意见和这里不加)中的build.xml:

<?xml version="1.0" encoding="UTF-8" ?> 
<project name="ProjectNameActivity" default="help"> 
    <property file="local.properties" /> 
    <property file="build.properties" /> 
    <property file="default.properties" /> 
    <path id="android.antlibs"> 
     <pathelement path="${sdk.dir}/tools/lib/anttasks.jar" /> 
     <pathelement path="${sdk.dir}/tools/lib/sdklib.jar" /> 
     <pathelement path="${sdk.dir}/tools/lib/androidprefs.jar" /> 
    </path> 
    <taskdef name="setup" classname="com.android.ant.SetupTask" classpathref="android.antlibs" /> 
    <setup /> 
</project> 
+0

编译任务在xml中看起来像什么(您可以使用编辑将它添加到您的问题中)?另外,测试源位于什么目录下? – 2010-10-15 00:43:36

+0

xml文件中没有编译任务。或者至少我没有找到一个。它确实编译了src目录。测试目录是'测试'。 – dominos 2010-10-15 00:57:05

+0

对不起 - 我的意思是编译src目录下的javac任务。 – 2010-10-15 01:01:36

回答

0

是编译程序的Android蚂蚁的任务不是在构建文件,它是进口的。

您需要查看build.xml导入的android_rules.xml文件。

build.xml中有一条评论,它解释了如何覆盖导入的编译ant目标。基本上它会指示您复制目标并进行适当的修改。

+0

是的,我发现一些其他的xml文件实际上被用来完成所有的工作。所以我想我会试着去编辑那个。 – dominos 2010-10-15 16:17:13

+0

@dominos你不应该编辑那个,因为它用于你所有的项目。你应该只将内容复制到你的build.xml文件中 – 2010-10-15 16:55:32

+0

其实我决定做一个单独的android测试项目,因为它看起来像是要测试android。现在这两个生成的xml文件都能正常工作,我可以运行测试。 – dominos 2010-10-15 20:07:47