Использовать модуль gradle как зависимость с определенным вкусом - PullRequest
0 голосов
/ 27 мая 2019

У меня есть библиотечный модуль с именем library, который имеет два вида flavor1 и flavor2. Затем у меня есть два прикладных модуля, давайте назовем их app1 и app2, которые будут использовать этот библиотечный модуль, и каждый будет использовать его с определенным вкусом ... например. app1 всегда будет использовать library со вкусом flavor1. Как мне настроить зависимости gradle, чтобы она делала то, что я хочу? Если я попробую просто implementation project(':library') в app1 build.gradle, то, очевидно, это не сработает, потому что он не знает, какой вкус выбрать .. поэтому я попробовал что-то вроде implementation project(path: ':library', configuration: 'flavor1Release'), но это тоже не работает, он печатает много ошибок типа

ERROR: Unable to resolve dependency for ':app1@debug/compileClasspath': Could not resolve project :library.
Show Details
Affected Modules: app1

ERROR: Unable to resolve dependency for ':app1@debugAndroidTest/compileClasspath': Could not resolve project :library.
Show Details
Affected Modules: app1

ERROR: Unable to resolve dependency for ':app1@debugUnitTest/compileClasspath': Could not resolve project :library.
Show Details
Affected Modules: app1

ERROR: Unable to resolve dependency for ':app1@release/compileClasspath': Could not resolve project :library.
Show Details
Affected Modules: app1

ERROR: Unable to resolve dependency for ':app1@releaseUnitTest/compileClasspath': Could not resolve project :library.
Show Details
Affected Modules: app1

Я видел некоторые вопросы здесь, на SO, такие как здесь , который говорит, что нужно копировать варианты из модуля библиотеки в основной модуль приложения, но для меня это не имеет смысла, app1 ничего не знает о flavor2 и я не хочу вводить это там.

1 Ответ

1 голос
/ 27 мая 2019

Вы должны определить missingDimensionStrategy для app1 и app2.

Например:

// app1/build.gradle

 defaultConfig {
    missingDimensionStrategy 'library', 'flavor1'
}

// app2/build.gradle

 defaultConfig {
    missingDimensionStrategy 'library', 'flavor2'
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...