其他分享
首页 > 其他分享> > 将Android项目构建到不同的包

将Android项目构建到不同的包

作者:互联网

我正在努力寻找为6个不同客户构建/打包Android应用的最佳方法.我可以在SVN中为所有客户使用不同的分支,但应用程序之间的唯一区别是资源文件夹中的一些值(drawables,strings等).

我编写了一个导入标准Android build.xml的ant脚本.此脚本执行以下操作:

>从属性文件中读取客户名称.
>对于每个客户,完成以下操作:

> AndroidManifest.xml中的包名称已更改(通过挂钩到-pre-build目标).
>将自定义资源复制到构建中的res目录中(通过挂钩到-pre-compile目标).
>包名称更改回默认值(通过挂钩到-post-compile目标).
> APK被复制到一个名为customer-versionno.apk的特定位置.

这似乎工作得很好,直到我刚才写了更改包名称的部分.由于包名更改,R类的位置也发生了更改,这意味着构建失败,因为Java类从标准包导入R类.

我不希望有一个更改代码的构建脚本.我希望能够对所有文件进行最少的更改.

Soo ..问题确实是:

>我的问题有什么好的/简单的解决方案吗?
>我是以错误的方式解决这个问题吗?是否有更好的方法可以轻松地将同一个应用程序打包到6个不同的客

解决方法:

是否有可能通过制作包含主要项目的6个不同项目来解决这个问题.这样您就可以覆盖资源并制作不同的apk

标签:android,build-automation,ant
来源: https://codeday.me/bug/20190621/1250605.html