kotlin2.0に向けて(ktsでファイルコピー)(5日目〜15日目)

2025年2月9日日曜日

android gradle kotlin kts

t f B! P L

やっと、グローバル変数の解消ができて、バンバンktsにすればいいやって思ってたらなかなかうまくいかん状態に
1.ファイル名にkts追加
2.groovy -> ktsコンバートサイトで変換
https://gradle-kotlin-converter.vercel.app/
3.syncで動作確認

で、色々問題が出たの対応
1.ファイルコピー
groovyでファイルコピー

copy{
from "src/main/play/release-notes/en-US/production.txt"
into "src/main/res/raw"
}

ktsでファイルコピー

tasks.register("copyEnUsReleaseNotes", Copy::class) {
from("src/main/play/release-notes/en-US/production.txt")
into("src/main/res/raw")
}


2.packagingOptions
packagingにすればいいらしいがうまくいかず。一旦コメントアウトで対応
この対応だけで3日かかった。。
コンパイル通ったから、とりあえずそのままだけど、jar ファイルにリソースファイルが複数あると重複エラーになるらしいから、そのうち対応が必要かも

で、ついでにkotlinもバージョン低いから2.1.0にあげたので更に。。。

さらに、ktsファイルの分割は特に問題ないんだけど、android{ }を複数のファイルに分けることができなさそうな感じになっていて、そこでつんでしまう。
今まで、分割してスッキリしていたけど、それがむずかしいようで、そもそもandroid{ }に詰めすぎたのが問題なのかも。

buildConfigField、manifestPlaceholders、signingConfigsがそれぞれアプリ名で分割して、同一ソースからアプリ分けしててるから困ったもんだ。

なので、段階的にリリースすることとして、まずは、rootProject/build.gradle.kts、rootProject/settings.gradle.kt、rootProject/app/build.gradle.ktsのみを実施で一旦終了して、またそのうちやるかな

世の中1日で終わらせる人もいるようだが、この手の話は能力差がでるなー

QooQ