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

时间:2016-02-19 11:14:47

标签: android config manifest environments

我们的应用程序有三种环境 - DEV,QA和PROD。

现在我们已经为这三个环境创建了三个AndroidManifest文件(比如AndroidManifest_QA.xml),当我们想要发布新版本时,我们必须每隔一段时间更改文件名,这是不可靠的。

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

提前致谢。

1 个答案:

答案 0 :(得分:1)

我会选择Gradle Flavors:

    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"
    }
}

如果你需要在代码级上分离 falvours ,请参阅下面的Xavier Ducrohet stackoverflow链接:

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