Манифест для конкретной комбинации вкус+тип

В моем приложении у меня есть два вкусовых измерения: device, environment

И такие вкусы:

standard {
  dimension = "device"
  ...
}
custom {
 dimension = "device"
 ...
}
dev {
  dimension = "environment"
  ...
}
prod {
 dimension = "environment"
 ...
}

Теперь я хочу иметь что-то конкретное в манифесте для комбинации customRelease (независимо от размера вкуса «среда»).

Я создал файл src/customRelease/AndroidManifest.xml, но Android Studio видит этот файл. Если я помещу манифест в src/customDevRelease/AndroidManifest.xml, то это сработает для меня, но мне также нужно поместить манифест сюда src/customProdRelease/AndroidManifest.xml, что не очень хорошо.


person Solvek    schedule 10.04.2018    source источник


Ответы (1)


Я решил это, установив путь манифеста для некоторых вариантов сборки:

def manifestSkygolfReleaseFile = 'src/customRelease/AndroidManifest.xml'        

sourceSets {
    customDevRelease {
        manifest.srcFile manifestSkygolfReleaseFile
    }

    customProdRelease {
        manifest.srcFile manifestSkygolfReleaseFile
    }
}

Это не идеальное решение, потому что в будущем, если я добавлю другой тип среды (тест), мне нужно будет не забыть добавить кусок кода в gradle:

    customTestRelease {
        manifest.srcFile manifestSkygolfReleaseFile
    }

Хуже того, мое фактическое приложение имеет 4 вкусовых измерения.

person Solvek    schedule 11.04.2018