我有一个遗留应用程序,需要将其拆分为库项目(公共代码)和两个应用程序项目(付费和免费应用程序)。我不使用Eclipse进行开发,也不使用Android SDK提供(生成)的Ant构建(有几个原因:不同的项目目录结构,集成到构建中的单元测试,与CruiseControl的集成,自动构建编号等),但改为使用我们的自定义构建文件。
我需要修改我的Ant构建,以使它们构建引用我的库项目的应用程序项目。我查看了SDK附带的示例应用程序和Ant构建,但不明白它是如何完成的。我看到该库项目包含“libs”目录和 “default.properties”文件,“android.library”属性设置为“true”。我看到应用程序项目包含“default.properties”文件,其中“android.library.reference.X”属性设置为库项目目录值。但是我没有在Ant构建中找到任何对这些属性的引用(项目Ant构建文件,以及随SDK一起提供的Ant构建)。只是将这些文件放入应用程序/库项目目录中没有用,即SDK工具不会解释它们。
我的猜测是这是由com.android.ant.SetupTask执行的,但我想知道它是如何执行的。我的构建是一组调用(使用exec)Android SDK工具的目标:appt,dx,apkbuilder等。所以我想知道我需要使用哪些命令行参数,比方说appt工具来合并资源?
提前谢谢。
答案 0 :(得分:2)
我最近为我的一个android产品编写了ant build脚本,它使用另一个android框架作为库。我使用的技巧是将库项目的 src,resource 和 assets 复制到主项目中,然后使用ant android任务构建apk包。这个技巧对我很有用。
如果您仍需要帮助,请告诉我。
答案 1 :(得分:1)
将drive:[android sdk的路径] \ tools \ ant \ ant_rules_r3.xml集成到build.xml中。它应该处理库文件的复制并正确生成构建。