在 Android gradle 中添加依赖项以编写可组合 UI 的仪器测试时,无法解决重复类问题

问题描述 投票:0回答:1

我有一个复杂的项目,其中版本为

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"
    }

在这种情况下如何解决重复类问题?

android android-instrumentation composable instrumented-test
1个回答
0
投票

我能够通过强制使用以下依赖项的版本来实现这一点。

resolutionStrategy.force "androidx.compose.ui:ui-test-android:1.5.3" 

© www.soinside.com 2019 - 2024. All rights reserved.