Как добавить ароматы в модуль с Android Studio?

У меня есть набор проектов, которые используют тот же модуль, который содержит почти весь фактический код. Проект настраивается как:

project/ - app/ - build.gradle - libraries/ - module/ - build.gradle - build.gradle - settings.gradle 

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

 include ':app', ':libraries:module' 

В файле build.gradle каталога приложения я добавил следующий блок:

 productFlavors { alpha production } 

Используя gradle 0.11, это синхронизирует и создает assembleAlphaDebug , assembleAlphaRelease , assembleProductionDebug , assembleProductionRelease . Когда я пытаюсь сделать это в модуле, я получаю сообщение об ошибке:

Не найден ресурс, который соответствует указанному имени (в 'теме' со значением '@ style / MyCustomTheme')

В встроенном app/src/main/AndroidManifest.xml . По какой-то причине модуль не строится, поэтому пользовательская тема не работает. Что я делаю не так?

Solutions Collecting From Web of "Как добавить ароматы в модуль с Android Studio?"

В библиотечном модуле build.gradle вам потребуется несколько дополнительных строк, чтобы сообщить об этом экспортировать ароматы и какой вариант сборки использовать по умолчанию, если он не указан при добавлении из другого модуля:

 android { defaultPublishConfig "productionRelease" publishNonDefault true productFlavors { alpha { } production { } } } 

Этот бит publishNonDefault необходим, только если кто-то захочет зависеть от чего-то другого, кроме варианта productionRelease . Предположительно, это так, если вы настроили мульти-ароматы в своей библиотеке в первую очередь.

Теперь, если вы добавите зависимость из другого модуля через это в свой build.gradle:

 dependencies { compile project(':module') } 

Он будет зависеть от варианта productionRelease по умолчанию. Если вы хотите зависеть от нестандартного варианта:

 dependencies { compile project(path: ':module', configuration:'alphaDebug') }