2010-08-09 102 views
5

我有一个遗留应用程序,需要将其分解为库项目(公共代码)和两个应用程序项目(付费应用程序和免费应用程序)。我不使用Eclipse进行开发,也不使用Android SDK提供(生成)的Ant构建(有几个原因:不同的项目目录结构,集成到构建中的单元测试,与CruiseControl集成,自动构建编号等),但使用我们的自定义构建文件。Android库项目定制生成

我需要修改我的Ant构建,使他们构建引用我的库项目的应用程序项目。我查看了SDK附带的示例应用程序和Ant构建版,但不明白它是如何完成的。我看到该库项目包含“libs”目录和 “default.properties”文件,其中“android.library”属性设置为“true”。我看到应用程序项目包含“default.properties”文件,其中“android.library.reference.X”属性设置为库项目目录值。但是我没有在Ant构建中找到任何对这些属性的引用(项目Ant构建文件以及随SDK附带的Ant构建)。只要将这些文件放入应用程序/库项目目录中也无济于事,即SDK工具不会解释它们。

我的猜测是,这是由com.android.ant.SetupTask执行的,但我想知道它是如何执行的。我的build是一组调用(使用exec)Android SDK工具的目标:appt,dx,apkbuilder等等。所以我想知道我需要使用哪些命令行参数,比如说,使用appt工具合并资源?

预先感谢您。

回答

2

我最近为我的android产品之一写了一个ant构建脚本,它使用另一个android框架作为库。我使用的技巧是把src,资源资产的库项目复制到主项目中,然后使用ant android任务来构建apk包。这个技巧对我来说非常合适。

让我知道你是否仍然需要一些帮助。

+0

我需要修改资源文件(xml)和构建,这些可以做forloop?你说你写了ant构建脚本,可以用gradle构建脚本吗? – aelam 2013-08-21 02:36:05

1

集成驱动器:[android sdk的路径] \ tools \ ant \ ant_rules_r3.xml到您的build.xml。它应该照顾库文件的复制并正确生成构建。

+0

什么是ant_rules_r3? – gregm 2010-12-22 16:14:03

+0

它不在Android 3.0 SDK中。 – 2011-04-29 19:58:31