Как заменить класс альтернативным исходным кодом с помощью Kotlin MultiplatformAndroid

Форум для тех, кто программирует под Android
Anonymous
Как заменить класс альтернативным исходным кодом с помощью Kotlin Multiplatform

Сообщение Anonymous »

Я пытаюсь заменить «ожидание удовольствия A()», реализация которого есть в androidSourceSet, на другую реализацию вockSourceSet, используя вариант сборки Android.
Структура моего проекта такова:

Код: Выделить всё

Android:App:
installed:
src
androidTest:
main:

mock:
(there it works)
instant:...
Shared:
core:
src
androidMain

androidMock
(to replace)
commonMain
iosMain

есть общий:основной сценарий сборки:

Код: Выделить всё

android {
compileSdk = Versions.compileSdk
defaultConfig {
minSdk = Versions.minSdk
}

flavorDimensions += "version"
productFlavors {
create("prod") {
dimension = "version"
}
create("mock") {
dimension = "version"
}
}
}
kotlin {
androidTarget()

iosX64()
iosArm64()
iosSimulatorArm64()

sourceSets {
commonMain.dependencies {
...
}

androidMain.dependencies {
...
}

iosMain.dependencies {
...
}

val androidMock by sourceSets.creating {
dependsOn(androidMain.get())
}
}
}
Но я получаю сообщение об ошибке «Конфликтующие перегрузки: общедоступное фактическое развлечение A()»
Какой подход я могу использовать, чтобы организовать фиктивный код и избежать блоков if(buildType.value) в производственный код?

Подробнее здесь: https://stackoverflow.com/questions/786 ... tiplatform

Вернуться в «Android»