我有一个复杂的项目,其中版本为
org.jetbrains.kotlinx:kotlinx-coroutines-android
强制为 1.6.4。
我在 UI 屏幕上使用了 Jetpack 可组合项。我想为集成测试编写仪器测试。
应用于该项目的 compose 版本是 1.7.0
,它使用仅存在于 org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3
中的类
因此,我的编译失败了。
所以对我来说唯一的解决方案是我使用 compose 1.5.3 版本来测试我的可组合 UI,基本上是为了以下依赖项
devImplementation("androidx.compose.ui:ui-test-manifest:1.5.3")
androidTestImplementation("androidx.compose.ui:ui-test-junit4:1.5.3")
现在我遇到了重复类的问题,因为
androidx.compose.ui:ui-test-junit4:1.5.3
和androidx.compose.ui:ui-test-android:1.7.0
中有公共类。
我尝试排除从依赖图中找到的一些依赖项,但它仍然给出相同的重复类问题。
devImplementation("androidx.compose.ui:ui-test-manifest:1.5.3") {
exclude group: "androidx.compose.ui", module: "ui"
exclude group: "androidx.compose.ui", module: "ui-graphics"
exclude group: "androidx.compose.ui", module: "ui-text"
exclude group: "androidx.compose.ui", module: "ui-unit"
exclude group: "androidx.compose.ui", module: "ui-tooling"
exclude group: "androidx.compose.ui", module: "ui-tooling-preview"
exclude group: "androidx.compose.ui", module: "ui-tooling-data"
}
androidTestImplementation("androidx.compose.ui:ui-test-junit4:1.5.3") {
exclude group: "androidx.compose.ui", module: "ui"
exclude group: "androidx.compose.ui", module: "ui-graphics"
exclude group: "androidx.compose.ui", module: "ui-text"
exclude group: "androidx.compose.ui", module: "ui-unit"
exclude group: "androidx.compose.ui", module: "ui-tooling"
exclude group: "androidx.compose.ui", module: "ui-tooling-preview"
exclude group: "androidx.compose.ui", module: "ui-tooling-data"
}
在这种情况下如何解决重复类问题?
我能够通过强制使用以下依赖项的版本来实现这一点。
resolutionStrategy.force "androidx.compose.ui:ui-test-android:1.5.3"