如何使用Ant脚本替换字符串,切换资源文件夹,自动生成R.java并编译最终的Apk?

时间:2013-02-05 20:57:14

标签: android eclipse ant

我们希望基于相同的源代码构建多个应用程序。基本源代码将存储在SVN中,因此在日常开发中我们只需要修改一个代码库。

虽然对于不同的客户,我们希望给予一定程度的品牌。主要是更改图像和标题,只需更改资源即可完成。

经过一些研究,我们发现这些多版本应用程序真的很有吸引力。主要问题是R.java是根据包名生成的。包名称标识应用程序。在源代码中有很多文件导入这个package.name.R,这意味着对于不同的应用程序,会有不同的包名,并且需要在大多数源代码文件中更改不同的R引用。

我们在网上找到一些关于使用Ant来执行此任务的文章,但没有一个真正指定。我们希望有人能帮忙!

通常工作流程如下:

  1. 在AndroidManifest.xml中更改包名称
  2. 浏览所有源代码文件,查找并将R引用的任何内容替换为新软件包名称。
  3. 将res文件夹切换到新客户端的res文件夹(我们将准备好此文件夹)
  4. 自动生成R.java文件。
  5. 开始正常的编译和构建过程。
  6. 获取Apk。
  7. 我们希望有人能指出我们如何通过使用Ant或任何其他更好的解决方案来实现这些任务。

    谢谢!

1 个答案:

答案 0 :(得分:1)

我认为您应该使用公共代码创建一个Android库项目(http://developer.android.com/tools/projects/index.html#LibraryProjects),将其检入VCS,然后为每个客户创建单独的项目,您还应该检查VCS以跟踪它们。 您将能够从相同的源代码生成不同的自定义版本。