Как работать с файлом 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