Android库项目自定义构建

5
我有一个遗留的应用程序,需要将其拆分为库项目(通用代码)和两个应用程序项目(付费和免费应用程序)。我不使用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工具合并资源?
提前感谢您。
2个回答

2

我最近为我的一款Android产品编写了一个ant构建脚本,它使用了另一个Android框架作为库。我使用的技巧是将库项目的src、resource和assets复制到主项目中,然后使用ant android任务构建apk软件包。这个技巧对我来说完美地运行。

如果您还需要帮助,请告诉我。


我需要修改一个资源文件(xml)并进行构建,这些可以在for循环中完成吗?你说你写了一个ant构建脚本,那么gradle构建脚本可以做到吗? - aelam

1

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


它在Android 3.0 SDK中不存在。 - Scott C Wilson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接