Модуль KMP только с общим основным исходным кодомAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Модуль KMP только с общим основным исходным кодом

Сообщение Anonymous »

Я хочу создать простой независимый от платформы модуль в своем проекте KMP. Этот модуль предназначен для бизнес-логики предметной области.
Я думаю, что достиг этого с помощью следующих шагов:
  • Создайте модуль KMP с помощью Android Studio «Новый->Модуль->Общий модуль KMP»
  • Измените build.gradle.kts и удалите исходный набор, специфичный для платформы. объявления
  • Удалить созданный Platform.kt из исходного набора commonMain
  • Sync. На этом этапе сборка завершается успешно, но папки платформы (androidMain, iosMain,..) остаются в модуле, и их невозможно удалить из проводника проекта AS.
  • Удалите папки вручную: откройте терминал и запустите rm -rf domain/src/android*, rm -rf domain/src/ios*
  • Добавьте новый модуль в качестве зависимость от существующего модуля и убедитесь, что на новые классы можно ссылаться и выполнять их во время выполнения.
Пожалуйста, подтвердите, законен ли мой подход?
Вот мой build.gradle.kts:
plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.androidKotlinMultiplatformLibrary)
alias(libs.plugins.androidLint)
}

kotlin {
jvm()
androidLibrary {
namespace = "com.example.domain"
compileSdk = 36
minSdk = 24

withHostTestBuilder {
}

withDeviceTestBuilder {
sourceSetTreeName = "test"
}.configure {
instrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
}

val xcfName = "domainKit"

iosX64 {
binaries.framework {
baseName = xcfName
}
}

iosArm64 {
binaries.framework {
baseName = xcfName
}
}

iosSimulatorArm64 {
binaries.framework {
baseName = xcfName
}
}

sourceSets {
commonMain {
dependencies {
implementation(libs.kotlin.stdlib)
// Add KMP dependencies here
}
}

commonTest {
dependencies {
implementation(libs.kotlin.test)
}
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/797 ... ceset-only
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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