Я интегрируюсь с библиотекой, которая использует androidx.camera, version.cameraX : '1.0.0-beta02'
:
// Camera
camera : [
camera2 : "androidx.camera:camera-camera2:$versions.cameraX",
core : "androidx.camera:camera-core:${versions.cameraX}",
ext : "androidx.camera:camera-extensions:${versions.cameraX}",
lifecycle: "androidx.camera:camera-lifecycle:${versions.cameraX}",
view : "androidx.camera:camera-view:1.0.0-alpha08",
],
, и я получаю следующую ошибку при выполнении ./gradlew assembleDebug :app:dependencies
:
...
Dependency resolved to an incompatible version: Dependency(fromArtifactVersion=ArtifactVersion(groupId=androidx.camera, artifactId=camera-view, version=1.0.0-alpha08), toArtifact=Artifact(groupId=androidx.camera, artifactId=camera-core), toArtifactVersionString=[1.0.0-beta01])
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine the dependencies of task ':app:compileWorldDebugJavaWithJavac'.
> In project 'app' a resolved Google Play services library dependency depends on another at an exact version (e.g. "[1.0.0-beta01]", but isn't being resolved to that version. Behavior exhibited by the library will be unknown.
Dependency failing: androidx.camera:camera-view:1.0.0-alpha08 -> androidx.camera:camera-core@[1.0.0-beta01], but camera-core version was 1.0.0-beta02.
The following dependencies are project dependencies that are direct or have transitive dependencies that lead to the artifact with the issue.
-- Project 'app' depends onto androidx.camera:camera-lifecycle@{strictly 1.0.0-beta02}
-- Project 'app' depends onto androidx.camera:camera-view@{strictly 1.0.0-alpha08}
-- Project 'app' depends onto androidx.camera:camera-core@{strictly 1.0.0-beta02}
-- Project 'app' depends onto androidx.camera:camera-camera2@{strictly 1.0.0-beta02}
...
Итак, я попытался сделать так в своем проекте build.gradle
:
...
//had zero effect
configurations {
compileClasspath.resolutionStrategy {
eachDependency { DependencyResolveDetails details ->
if (details.requested.group == 'androidx.camera'
&& !details.requested.name.contains('camera-core')) {
details.useVersion "1.0.0-beta02"
}
if (details.requested.group == 'androidx.camera'
&& !details.requested.name.contains('camera-view')) {
details.useVersion "1.0.0-alpha09"
}
}
}
}
Я думаю, что указанное выше изменение является правильным способом форсировать версию. Кроме того, я пробовал 1.0.0-beta01
и 1.0.0-beta02
для camera-core
и 1.0.0-alpha08
и 1.0.0-alpha09
для camera-view
, но не повезло.
Будем весьма благодарны за любые указания по поиску правильной комбинации версий, которые помогут решить проблему.