1

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

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

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

提前致谢。

4

1 回答 1

1

我会选择 Gradle Flavours:

    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 链接:

使用 Build Flavors - 正确构建源文件夹和 build.gradle

于 2016-02-19T11:17:50.823 回答