2

因此,我创建了一个包含 2 个源目录的项目:一个用于实际代码,另一个用于测试。它在 Eclipse 中运行良好,但后来我决定开始使用命令行和 ant 工具。

Android内置了生成build.xml的功能,所以我使用了命令'android update project -p ProjectName'

这个用于安装的 build.xml 工作正常,我可以在模拟器上运行应用程序。但是,它只编译我的源目录中的文件,而不编译我的测试目录中的文件。这意味着我不能从命令行运行我的单元测试,如果我这样做了,我会得到 class not found 异常。

有没有办法包含另一个源目录,以便它也可以编译我的单元测试?

这是生成的 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>
4

1 回答 1

0

编译你的 android 程序的 ant 任务不在构建文件中,它是被导入的。

您需要查看android_rules.xmlbuild.xml.

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

于 2010-10-15T03:11:42.277 回答