Ant是构建android apk的官方方式。Maven 是一种替代方法(官方不支持,但效果很好)。
使用 maven 或 ant 时,默认项目布局几乎没有区别,但如果您进行一些额外的配置工作(即某些信息将被复制),则可以让两个构建系统在相同的源代码上工作。
使用 Maven 的默认项目布局
- java源文件在`/src/main/java`下
- 依赖项在 pom.xml 中定义(使用 maven 定义依赖项的方式,类型
apklib
为 android 库)
使用 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 目标以及项目是库或应用程序这一事实。当您使用 maven 时,此信息位于 pom.xml 中)
如何用 ant 构建一个 maven android lib?
问题(当您需要构建maven-layout-android-library
with 时ant
)如下:
- 有一个适当的
/build.xml
(可以通过android update library-project ...
这里是关于这个命令的官方文档来完成)
- 有一个适当的
/project.properties
(它部分由android update ...
命令完成,但您可能需要android.library.reference
手动添加一些或使用 eclipse ADT 插件)
- 告诉
ant
java源文件不在默认位置,但在/src/main/java
对于最后一点,这里是如何做到的:
- 创建一个文件
/ant.properties
(在你的maven-layout-android-library
)
将以下条目放入其中:
source.dir=src/main/java
(重要:并不总是需要,因为有时 java 源文件已经/src
在 maven-layout-project 下,在这种情况下,pom.xml 包含源目录所在的信息/src
)
就这样。现在,你maven-layout-android-library
可以用ant debug