(Android Studio Bumblebee 以降書き方変わったので一番最後も参照にしてください)
どうもこんばんわ。
Android 12、あんま評判よくないな?1画面で見れる情報量が減った感はあると思う。
オーバースクロール時の挙動は賛否両論?
本題
build.gradleをbuild.gradle.ktsへ書き換えます。
自分用です。
移行するメリットは、どうだろう。
移行前
build.gradle
app/build.gradle
移行する
名前をbuild.gradle
からbuild.gradle.kts
にします。
ファイルを選んでShift
+F6
で名前変更画面を呼び出せます。
移行したらとりあえずSync now
押しましょう。直すべき項目が赤くなって出るはず。
build.gradle.kts 移行例
一番最後のtasks.register
は他にも書き方あるみたいなので調べてみてください。
app/build.gradle.kts 移行例
Kotlin
っぽい書き方になって謎が減ったような気がする。
変数を使っている場合
Jetpack Compose
(略してJC) を使っている例では、build.gradleでComposeのバージョンを変数で宣言して、app/build.gradle
で参照しているのがよくあると思いますが、
このままでは移行できないので書き直します。
build.gralde.kts で変数を宣言します。
文字列に埋め込む場合は"${変数名}"
で出来ます。ここらへんはさすがKotlin
app/build.gradle.kts で使う
さて、他のモジュールから参照する方法ですが、rootProject.extra
で出来ます。
その他詳しく知りたい場合は:https://docs.gradle.org/current/userguide/kotlin_dsl.html
おまけ
せっかくKotlinでGradle
かけるようになったんだしGradle Task
に入門してみた。
どういうこと?
を押したときの処理が、build.gradle.kts
の一番下に書いてある内容なんだけど、
↓これ
これを自分でかけるよって話。しかもKotlinでかける
新しいタスクを作成
これではろーわーるどしてくれるタスクが完成です。Sync now
しますかって上の方に出てると思うので、Sync now
して、
早速実行してみましょう。右上にあるGradle
を押して、🐘のアイコンを押してmacOSのSpotlightみたいな入力欄が出たら、gradle helloWorld
と打ちます。これで出るはず。
これで挨拶してくれれば成功
> Task :helloWorld
Hello World
もう少し実用的なのを頼む
app/build.gradle.kts
で追加しているライブラリ一覧をlibraryList.txt
として書き出すタスクです。
かけたらSync now
して実行してみます。
実行すると、ファイルが出来ているはずです。
オープンソースライブラリ一覧画面を作るときに役に立ちそうですね!
おまけ 2021/11/23
build.gradle.kts
後に謎のエラーが出る場合(文法とかはあってるのに)
まずプロジェクトを閉じるかAndroid Studio自体を閉じます。
その後、プロジェクトをエクスプローラー(macOSならあの顔のやつ。Finderだっけ?)で開いて、.idea
を消すか、適当に名前を変えます。
そのあと再度Android Studioでプロジェクトを開き、実行ボタンの近くにあるMake Project
ボタン(Ctrl+F9)を押せば治りました。
おまけ 2022/01/30 追記
Android Studio Bumblebee 以降書き方変わったので置いておきます
トップレベル build.gradle.kts
settings.gradle.kts
終わりに
buildSrc
の話じゃなくてごめん。