Kotlin MultiPlatform Mobileがアルファ版に進んだようなので、ちょっと触ってみようと思い立って環境構築してみました。
色々とハマって3日くらいかかりましたがなんとかできたので、ナレッジ共有と備忘録も兼ねて残しておきます。
What's KMM?
モバイルマルチプラットフォームを実現するKotlinベースの開発キットです。
Android - iOS間のビジネスロジックの再利用ができる点が魅力で、Androidアプリ開発後、iOSアプリも必要になったときや、最初から両方のアプリを作る予定ならすごく便利なんじゃないかなと思ってます。
Flutterとよく比較されますが、Flutterがビュー側も含めたプラットフォーム共有なのに対し、KMMはビジネスロジックのみをシングルコードにするので、ビュー側はプラットフォーム特有のものにできる点が異なります。
環境構築する
公式チュートリアルを参考にしてます。
https://kotlinlang.org/docs/mobile/setup.html
今回は↓の環境で構築しました。
- MacOS 10.14.6
- XCode 11.3.1 ←11.3以上必須
Android Studio4.2をインストール
現時点(2021/03/10)での安定板は4.1.2なので、ベータ版を使う必要があります。
↓からver4.2をダウンロードしてインストールします。
https://developer.android.com/studio/preview?hl=ja
Kotlinのアップデート
Android Studioで適当に1つプロジェクトを作成した後、[Tools]→[Kotlin]→[Configure Kotlin Plugin Updates]と進み、最新バージョンにアップデートします(僕の場合はプラグインバージョン[202-1.4.31-release-AS8194.7]が入っていて、更新の必要なかったです)。
Kotlin MultiPlatform Mobile Pluginをインストール
[Preferences]→[Plugins]と進み、検索ボックスにKotlin Multiplatform Mobileと入力します。
Android 10.0をインストールする
公式サイトにはないんですが、僕の環境だとこれをしないとビルドがうまく通らなかったです。
Android SDK画面からAndroid 10.0をインストールしておきましょう。
ここまでやったら一度Android Studioを再起動します。
KMMプロジェクトを作成する
プロジェクトの新規作成画面に「KMM Application」が追加されているはずなので、選択します。
最後に各プラットフォームのアプリケーションの名前を入力します。
Shared Module NameはAndroidとiOSの共有モジュール名です。デフォルトで大丈夫です。
最後にAdd sample tests for Shared Moduleにチェックを付けて完了します。
KMMアプリケーションが作成されるので、ビルドされるまで待ちます(僕の場合は5分くらいかかりました)。
あと、デフォルトではエクスプローラーにはAndroidしかありませんが、ここでプロジェクトに変えるとiOSも出てきます。変えておきましょう。