【发布时间】:2013-03-06 03:26:07
【问题描述】:
我希望能够(同时)构建和安装我的应用的多个版本,针对不同的环境,例如开发、暂存,当然还有生产。
AndroidManifest.xml 中的包名称似乎是这里的主要障碍,因为它是应用程序的唯一标识。我认为可以简单地在com.mydomain.prod、com.mydomain.staging 和com.mydomain.dev 或某种类似的约定之间切换,但到目前为止,我还没有找到适用于这种方法的包结构。
我可以采用什么策略来尽可能减少痛苦?
【问题讨论】:
-
AndroidManifest.xml中的package字段只是Google Play使用的唯一标识,不需要和你的java源码包结构一样。
-
这不可能是真的,不是吗?如果我更改它,gen 文件夹会更改,并且我会收到大量“R 无法解析为变量”错误。有没有办法避免这种情况?
-
Docs:包名作为应用程序的唯一标识符。它也是应用程序进程的默认名称(参见
元素的 process 进程属性)和活动的默认任务亲和性(参见 元素的 taskAffinity 属性)。 -
与 R 无关,您只需在 AndroidManifest.xml 中定义应用程序、活动等 android 组件时使用完整的包/类名称。查看here 了解通过 android-maven-plugin 可以轻松实现这一点。
-
这对我有用。 stackoverflow.com/a/5195633/182544我没有在我的应用程序、活动、服务和接收器清单节点中使用完全限定的类路径。
标签: android android-manifest android-build