Open12
DoremiPianoのAndroid版作成
Android Developerのアカウントを取得したままずっと放置していたら、おかみに「使ってないなら消すぞオラ」とおこられた
これを機に、Androidアプリをひとつくらい出してみなければ
5年前にiOSアプリの勉強がてら作成したDoremiPianoにAndroid版を追加することにしてみようか
とりあえずiOSの時に作ったもろもろのファイルをapp-iosディレクトリに押し込み、app-androidを作成
それっぽいアイコンもせっかくなので作成
UIを書き始めたら、早速ドメインモデルが欲しくなってきた sharedモジュールを作ろう
と思ったが、sharedモジュールをいいかんじに作るならagpを上げろと言われた
agpを8.8.0に上げると、gradle-wrapperを8.10.2に上げろと言われる
そして、androidx.core:core:1.13.1
となんかぶつかる
多分composeBom2024.12.01に紐づいてるライブラリな気がする
解決が厳しいので、agpを上げるのは諦めて、手動でこねこねsharedモジュールを作ろう
jvmToolchainと同じバージョンでいいなら、compileOptionは書かなくていいらしい 学び
// compileOptions {
// sourceCompatibility = JavaVersion.VERSION_17
// targetCompatibility = JavaVersion.VERSION_17
// }
composeOptions {
kotlinCompilerExtensionVersion = libs.versions.composeCompiler.get()
}
sharedにandroid固有のものが一切入らないなら、androidに関する記述は要らない?これだけで十分?
plugins {
alias(libs.plugins.kotlin.multiplatform)
}
kotlin {
sourceSets {
commonTest {
dependencies {
implementation(libs.kotlin.test)
}
}
}
}
と思ったが、そういうものではなさそう パッケージがそれとして認識されてない
ターゲット(android, iosなど)を最低一つ与えてあげる必要があるっぽい
plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.multiplatform)
}
kotlin {
androidTarget()
sourceSets {
commonTest {
dependencies {
implementation(libs.kotlin.test)
}
}
}
}
やはりKMPでDIをするならKoinか?
ミニマムにアプリを作ろうとは思いつつも、さすがにDIは入れたいよな