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

我希望能够构建和安装我的应用程序的多个版本(同时),针对不同的环境,如开发,暂存和生产.

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/

这些链接可能很有用:

> How to build customized Android application using Gradle
> Gradle Build Variants for your android project

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...