android - 针对不同环境构建不同的 Android

标签 android android-manifest android-build

我希望能够(同时)构建和安装我的应用的多个版本,针对不同的环境,例如开发、暂存,当然还有生产。

AndroidManifest.xml 中的包名似乎是这里的主要障碍,因为它是应用程序的唯一标识。我认为可以简单地在 com.mydomain.prodcom.mydomain.stagingcom.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/

相关文章:

android - 我的应用程序中显示的空 map

android - 引用同一个项目中的一个类,不同的模块

Android 构建失败 - FormatException

Android 应用程序签名 : Proguard returned with error code 1. 查看控制台

java - 计算开始时间和耗时的时间差

android - Android、J2ME、PC通用的简单数据存储接口(interface)

用于 radio 流式彩信的 Android 应用程序 ://howto

android - Image Cropper 无法正常工作 - 为什么?

包名中的 Android Studio Manifest 合并错误

android - R.styleable 无法解决,为什么?