我希望能够(同时)构建和安装我的应用的多个版本,针对不同的环境,例如开发、暂存,当然还有生产。
AndroidManifest.xml
中的包名似乎是这里的主要障碍,因为它是应用程序的唯一标识。我认为可以简单地在 com.mydomain.prod
、com.mydomain.staging
和 com.mydomain.dev
或一些之间切换有点类似的约定,但到目前为止,我还没有找到适用于这种方法的包结构。
我可以采用什么策略来尽可能减少痛苦?
最佳答案
使用 Gradle,您可以为您的应用程序指定不同的“风格”。这是在您的 build.gradle
中完成的:
android {
// …
defaultConfig {
// …
}
productFlavors {
prod
applicationId "com.mydomain.prod"
}
staging {
applicationId "com.mydomain.staging"
}
dev {
applicationId "com.mydomain.dev"
versionCode 2
}
}
}
每个 flavor 属性都继承自defaultConfig
。
现在,在您应用的 src
目录中,您可以创建包含特定风格代码/资源的目录:
app/
|-- src/
|-- main/
|-- prod/
|-- staging/
|-- dev/
这些链接可能会有用:
关于android - 针对不同环境构建不同的 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15238412/