Android命令行工具 - 带有库的项目中的Ant调试

时间:2013-03-15 20:05:09

标签: android maven ant build command-line-tool

我创建了一个测试项目,以了解如何使用命令行工具构建和运行测试。我设法创建了一个项目,用

更新了它
android update project -p .

并使用

进行调试
ant debug

当我将库项目添加到此测试项目时,ant调试开始失败,因为它无法找到库的build.xml。我发现的唯一解决方案是更新库项目(found here)。这是正确的方法吗?我在我使用的许多库中看到了pom.xml文件。我知道它被Maven使用(虽然我对此一无所知),它可能会帮助我解决另一个问题。

1 个答案:

答案 0 :(得分:3)

Ant是构建android apk的官方方式。 Maven是另一种做法(不是官方支持,但效果很好)。

使用maven或ant时,关于默认项目布局的差异很小,但是如果你做一些额外的配置工作,可以让两个构建系统都使用相同的源代码(即某些信息会被复制) )。

maven的默认项目布局

  • java源文件位于`/ src / main / java``
  • 依赖关系在pom.xml中定义(使用maven定义依赖关系的方式,对于android库类型为apklib

使用ant(和eclipse ADT插件)的默认项目布局

  • java源文件位于/src
  • 依赖关系在/project.properties中定义,并使用相对路径指定。

以下是project.properties的示例(它是引用其他2个图书馆项目的图书馆项目的典型示例):

target=android-15
android.library=true
android.library.reference.1=../somelib
android.library.reference.2=../someOtherLib

(正如你可以看到一些额外的信息存储在这个文件中:android目标以及项目是库或app的事实。当你使用maven时,这个信息在pom.xml中)

如何使用ant构建maven android lib?

问题(当您需要使用maven-layout-android-library构建ant时)如下:

  • 拥有合适的/build.xml(可以通过android update library-project ...来完成the official doc about this command
  • 拥有正确的/project.properties(部分由android update ...命令完成,但您可能需要手动或使用eclipse ADT插件添加一些android.library.reference
  • 告诉ant java源文件不在默认位置,但在/src/main/java

关于最后一点,以下是如何做到这一点:

  • 创建文件/ant.properties(在maven-layout-android-library
  • 将以下条目添加到其中:

    source.dir = SRC /主/ JAVA

重要:并不总是需要它,因为有时java源文件已经在maven-layout-project中的/src下了,在这种情况下,pom.xml包含源目录为/src

的信息

这就是全部。现在,您可以使用maven-layout-android-library

构建ant debug