Ресурсы библиотеки Android-градиентов в вкусе продукта

Обновлен до градиента 1.12, плагин gradle для студии android 0.10.

Мой проект имеет следующую структуру:

Как получить содержимое папки res IconsetBase + Iconset1 для объединения в flavor1 и IconsetBase + Iconset2 в flavor2?

Перед обновлением до новой градации это работало как библиотеки (IconsetBase, Iconset1 и Iconset2), имеющее такое же название пакета, как и основное

Вот мой build.gradle основного проекта:

buildscript { repositories { mavenCentral() } dependencies { repositories { mavenCentral() } classpath 'com.android.tools.build:gradle:0.10.0' } } apply plugin: 'android' repositories { mavenCentral() } android { useOldManifestMerger false compileSdkVersion 19 buildToolsVersion "19.0.3" lintOptions { ... } sourceSets { main.java.srcDirs = ['src/main/java'] main.resources.srcDirs = ['src/main/res'] } signingConfigs { ... } buildTypes { ... } // Common dependencies dependencies { compile project(':3rdparty:Graphics:Iconsets:IconsetBase') } defaultConfig { ... } productFlavors { flavor1 { packageName "..."} flavor2 { packageName "..."} } android.sourceSets.flavor1 { dependencies { compile project(':3rdparty:Graphics:Iconsets:Iconset1') } res { srcDir 'flavor1' } resources { srcDir 'flavor1' } } android.sourceSets.flavor2 { dependencies { compile project(':3rdparty:Graphics:Iconsets:Iconset2') } res { srcDir 'flavor2' } resources { srcDir 'flavor2' } } } dependencies { compile 'com.android.support:support-v4:19.1.0' compile 'com.android.support:appcompat-v7:19.1.0' compile 'com.google.android.gms:play-services:4.3.23' } 

= = РЕДАКТИРОВАТЬ

Дальнейшее объяснение:

Я стараюсь объединить ресурсы из другого места динамически.

Фон: flavor1 имеет значок значка с изображениями icon1 и icon2, у flavor2 есть базовый набор иконок и значок1 и значок2, но значки разные на каждый набор значков. В противном случае мне пришлось бы много раз добавлять иконки1, icon2 и т. Д. Для каждого вкуса, а также об обновлениях / изменениях этих значков. Это должно быть сделано для каждого существующего аромата (у меня больше 20)

Может ли это быть достигнуто с помощью некоторой пользовательской задачи без библиотек?

Вы можете определить конкретную зависимость по вкусу:

 productFlavors { flavor1 { ... dependencies { flavor1Compile project(':iconSet1') } } flavor2 { ... dependencies { flavor2Compile project(':iconSet2') } } } 

В вашей сборке зависимости находятся в SourceSets, и это неправильно.


РЕДАКТИРОВАТЬ

Хорошо, надеюсь, я лучше пойму твою цель сейчас. Что вы можете сделать, так это определить несколько каталогов ресурсов для каждого аромата:

 android { sourceSets { flavor1 { res.srcDirs = ['flavor1','../3rdparty/Graphics/Iconsets/Iconset1/res'] } flavor2 { res.srcDirs = ['flavor2','../3rdparty/Graphics/Iconsets/Iconset2/res'] } } } 
Intereting Posts
Включать / отключать звук и вибрацию клавиатуры программно Android Bluetooth не может подключиться к медицинским устройствам с фиксированным портом # – использовать отражение Java? Удаление образа / имени файла из пути в android Facebook AccessToken.getAccessToken имеет значение null при открытии приложения даже после первого входа Как изменить цвет фона выбранных элементов в ListView? Преобразование String-Date с наносекундами Проблема с потоковой передачей видео в android Загрузка, сохранение и использование данных аутентификации в API Android Box Сохраняя переменную ценность во всех действиях Android Папка значений для dimen.xml для небольшого размера экрана Android Studio Update Fails Драйверы Xoom adb Платформа Google Android финансово интересна? Android скрывает диалог после установленного времени, например, пользовательский интервал времени GridView: получить представление по позиции