J'ai un projet avec 2 modules: une application (Java) avec les types de construction debug
, release
et enterprise
et une bibliothèque Kotlin (release
et debug
) utilisée par l'application.
J'utilise AndroidX et j'ai le code suivant dans mon gradle.properties
:
Android.useAndroidX=true
Android.enableJetifier=true
Si j'exécute le projet via Gradle, j'obtiens de nombreuses erreurs de compilation (attendues). Mais si j'essaie de l'utiliser depuis Android Studio (3.2 Beta 5), en particulier lorsque j'essaie de synchroniser avec le modèle Gradle, j'obtiens ceci:
Unable to resolve dependency for ':app@debug/compileClasspath': Failed to transform file 'some-lib-release.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform
Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath': Failed to transform file 'some-lib-release.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform
Unable to resolve dependency for ':app@debugUnitTest/compileClasspath': Failed to transform file 'some-lib-release.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform
Unable to resolve dependency for ':app@release/compileClasspath': Failed to transform file 'some-lib-release.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform
Unable to resolve dependency for ':app@releaseUnitTest/compileClasspath': Failed to transform file 'some-lib-release.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform
Unable to resolve dependency for ':app@enterprise/compileClasspath': Failed to transform file 'some-lib-release.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform
Unable to resolve dependency for ':app@enterpriseUnitTest/compileClasspath': Failed to transform file 'some-lib-release.aar' to match attributes {artifactType=processed-aar} using transform JetifyTransform
Mon settings.gradle
:
include ':app',':some-lib'
project(':some-lib').projectDir = file ('../some-lib/lib')
Le module de bibliothèque sera éventuellement sa propre bibliothèque utilisée par cette application et par d'autres, mais pendant que je travaille dessus, je la construis en tant que partie de l'application. Les choses fonctionnaient bien jusqu'à ce que je passe à AndroidX.
Le module app
déclare la dépendance comme suit:
implementation project(path: ':some-lib', configuration: 'default')
Si je laisse le bit configuration: 'default'
lors de la déclaration de dépendance, je reçois:
Unable to resolve dependency for ':app@enterprise/compileClasspath': Could not resolve project :some-lib.
Unable to resolve dependency for ':app@enterpriseUnitTest/compileClasspath': Could not resolve project :some-lib.
Des idées sur ce que je fais mal ici?
Je pouvais jurer que j'avais déjà essayé cela, mais spécifier un ensemble de matchingFallbacks
pour les types de construction a fait l'affaire:
buildTypes {
release {
// blah blah
matchingFallbacks = ['release']
}
enterprise {
// blah blah
matchingFallbacks = ['release']
}
debug {
// blah blah
matchingFallbacks = ['debug']
}
}
Plus ici
Essaye ça:
implementation fileTree(include:[':some-lib'], dir: "../lib/path")