如何处理不同环境下的 AndroidManifest 文件

How to handle AndroidManifest file for different environments

我们的应用程序具有三个环境 - DEV、QA 和 PROD。

现在我们已经为这三个 envs 创建了三个 AndroidManifest 文件(如 AndroidManifest_QA.xml),每次我们要发布新版本时都必须更改文件名,这并非一成不变。

所以,我想知道是否有更简单的方法来处理这种情况?

提前致谢。

我会选择 Gradle 口味:

    buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

或者您可以使用 构建变体 使其更加分离。我认为这就是您真正想要的:

 productFlavors {
    pro {
        applicationId = "com.example.my.pkg.pro"
    }
    free {
        applicationId = "com.example.my.pkg.free"
    }
}

buildTypes {
    debug {
        applicationIdSuffix ".debug"
    }
}

很好的教程: http://www.techotopia.com/index.php/An_Android_Studio_Gradle_Build_Variants_Example

文章: http://developer.android.com/tools/building/configuring-gradle.html

让我们考虑以下来自 techotopia.com

的示例
productFlavors {
    phone {
        applicationId
        "com.ebookfrenzy.buildexample.app.phone"
        versionName "1.0-phone"
    }
    tablet {
        applicationId
        "com.ebookfrenzy.buildexample.app.tablet"
        versionName "1.0-tablet"
    }
}

如果您需要在代码级别 上分离 恩惠 ,请参阅下面的 Xavier Ducrohet Whosebug link:

Using Build Flavors - Structuring source folders and build.gradle correctly