Android — проблема с основным приложением, имеющим вкус продукта, отличный от зависимого модуля

#android #android-productflavors

#Android #android-productflavors

Вопрос:

Итак, у меня есть проект Android с ароматом продукта — flavor1 / flavor2

Теперь мне нужно добавить к нему зависимый модуль с вкусами продукта — flavor3 / flavor4.

Вот как я добавляю зависимость в build.gradle (приложение):

 dependencies {
  .....
    implementation (project(':myModule')){
        transitive = false
    }
  ....
}
 

Теперь, когда я создаю свой проект Android с помощью assembleFlavor1Debug, это выдает ошибку:

 Cannot choose between the following variants of project :myModule:
  - flavor3DebugRuntime
  - flavor3ReleaseRuntime
  - flavor4DebugRuntime
  - flavor4DebugRuntime

- Variant 'flavor3DebugAndroidTestCompile' capability mainApp:myModule:
      - Unmatched attributes:
          - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
          - Required default 'flavor1' but no value provided.

  
 

Комментарии:

1. Можете ли вы поделиться файлами gradle вашего основного модуля и подмодулей?

Ответ №1:

Добавление библиотеки, которую мне нужно было разрешить в основном приложении, поскольку matchingFallback решил проблему.

Основное приложение build.gradle

     matchingFallbacks = ['flavor3']
 

При этом при создании основного приложения, поскольку в библиотеке нет соответствующего вкуса, приложение выберет вкус библиотеки — вкус 3