I am working on a multi-flavor app . (gradle files below)
It uses a library called tracker that matches the same tastes of internal and external
Now for the complex part, a new module called feature , it has no taste, but it needs a tracker as a dependency
app.gradle:
android { buildTypes { debug { } release { } } flavorDimensions "target" productFlavors { internal { dimension "target" } external { dimension "target" } } }
tracker.gradle:
android { publishNonDefault true buildTypes { release { } debug { } } flavorDimensions 'target' productFlavors { internal { dimension "target" } external { dimension "target" } } }
feature.gradle:
android { compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { compileSdkVersion rootProject.ext.compileSdkVersion buildToolsVersion rootProject.ext.buildToolsVersion defaultConfig { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" javaCompileOptions { annotationProcessorOptions { includeCompileClasspath false } } } } } dependencies { implementation( [...] project(':tracker') ) }
Here are the errors when I try to execute gradle sync :
Unable to resolve dependency for ': feature@debug /compileClasspath': Could not resolve project :tracker. Could not resolve project :tracker. Required by: project :feature > Project :feature declares a dependency from configuration 'implementation' to configuration 'externalRelease' which is not declared in the descriptor for project :tracker. Unable to resolve dependency for ': feature@debugAndroidTest /compileClasspath': Could not resolve project :tracker. Could not resolve project :tracker. [...]
source share