У меня есть проект Gradle Android, в котором есть 4 аромата продукта (у каждого есть свое уникальное имя пакета). Файл build.gradle
очень прост:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.6.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
dependencies {
// All dependencies here
// ...
}
android {
// Usual stuff goes here
productFlavors {
flav1 {
packageName 'com.company.flav1'
versionName calcVersion()
}
flav2 {
packageName 'com.company.flav2'
versionName calcVersion()
}
flav3 {
packageName 'com.company.flav3'
versionName calcVersion()
}
flav4 {
packageName 'com.company.flav4'
versionName calcVersion()
}
}
// Other configurations
// ...
}
Все идет хорошо, и необходимые ресурсы объединяются, e.t.c. Теперь я пытаюсь реализовать функцию Push Notification с помощью GCM. И согласно документации, я должен объявить разрешение для своего приложения, например:
<permission android:name="com.company.flav.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="com.company.flav.permission.C2D_MESSAGE" />
Но я использую один файл манифеста для всех 4 приложений (они отличаются только ресурсами приложений и некоторыми настройками, которые помещаются в папку с ресурсами).
Итак, мой вопрос: как я могу переопределить эти разрешения для каждого продукта?