我创建了一个测试项目,以了解如何使用命令行工具构建和运行测试。我设法创建了一个项目,用
更新了它android update project -p .
并使用
进行调试ant debug
当我将库项目添加到此测试项目时,ant调试开始失败,因为它无法找到库的build.xml。我发现的唯一解决方案是更新库项目(found here)。这是正确的方法吗?我在我使用的许多库中看到了pom.xml文件。我知道它被Maven使用(虽然我对此一无所知),它可能会帮助我解决另一个问题。
答案 0 :(得分:3)
Ant是构建android apk的官方方式。 Maven是另一种做法(不是官方支持,但效果很好)。
使用maven或ant时,关于默认项目布局的差异很小,但是如果你做一些额外的配置工作,可以让两个构建系统都使用相同的源代码(即某些信息会被复制) )。
maven的默认项目布局
apklib
)使用ant(和eclipse ADT插件)的默认项目布局
/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