Use Gradle Module As A Dependency With Specific Flavor
I have a library module called library
that has two flavors flavor1
and flavor2
. Then I have two application modules, lets call them app1
and app2
that will use this library module and each one will use it with specific flavor .. eg. app1
will always use library
with flavor1
flavor. How should I configure gradle dependencies to make it do what I want to? If I try just implementation project(':library')
in app1
build.gradle
it obviously does not work because it doesn't know which flavor to choose .. so I’ve tried something like implementation project(path: ':library', configuration: 'flavor1Release')
but that does not work too, it prints a lot of errors like
ERROR: Unable to resolve dependency for ':[email protected]/compileClasspath': Could not resolve project :library.
Show Details
Affected Modules: app1
ERROR: Unable to resolve dependency for ':[email protected]/compileClasspath': Could not resolve project :library.
Show Details
Affected Modules: app1
ERROR: Unable to resolve dependency for ':[email protected]/compileClasspath': Could not resolve project :library.
Show Details
Affected Modules: app1
ERROR: Unable to resolve dependency for ':[email protected]/compileClasspath': Could not resolve project :library.
Show Details
Affected Modules: app1
ERROR: Unable to resolve dependency for ':[email protected]/compileClasspath': Could not resolve project :library.
Show Details
Affected Modules: app1
I've seen some questions here on SO like here that says to copy flavors from library module to main app module, but it does not make sense to me, app1
doesn't know anything about flavor2
and I don't want to introduce it there.
Answer
You should define missingDimensionStrategy
for both app1
and app2
.
For example:
// app1/build.gradle
defaultConfig {
missingDimensionStrategy 'library', 'flavor1'
}
// app2/build.gradle
defaultConfig {
missingDimensionStrategy 'library', 'flavor2'
}
Related Questions
- → should I choose reactjs+f7 or f7+vue.js?
- → Phonegap Android write to sd card
- → Local reference jquery script in nanohttpd (Android)
- → Click to navigate on mobile devices
- → How to allow api access to android or ios app only(laravel)?
- → Access the Camera and CameraRoll on Android using React Native?
- → React native change listening port
- → What is the default unit of style in React Native?
- → Google play market autocomplete icon
- → Warning: Each child in an array or iterator should have a unique "key" prop. Check the render method of `ListView`
- → Using Laravel with Genymotion
- → react native using like web-based ajax function
- → react native pdf View