Как работать с файлом AndroidManifest для разных сред

У нас есть три среды для нашего приложения - DEV, QA и PROD.

Теперь мы создали три файла AndroidManifest для этих трех envs(например, AndroidManifest_QA.xml), и нам нужно менять имя файла КАЖДЫЙ РАЗ, когда мы хотим выпустить новую версию, которая не является постоянной.

Итак, мне интересно, есть ли более простой способ справиться с этой ситуацией?

Заранее спасибо.

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

если вам нужно разделить ошибки на уровне кода, см. ссылку Xavier Ducrohet stackru ниже:

Использование вариантов сборки - правильно структурировать исходные папки и build.gradle

Другие вопросы по тегам