LoginSignup
1
1

More than 1 year has passed since last update.

【KMM】Kotlin Multiplatform Mobile(KMM)を使ってみた

Last updated at Posted at 2023-04-23

記事概要

最近話題のAndroidでもiOSでも対応するマルチプラットフォーム。
現在はFlutter現場にいますが、kotlinでもマルチプラットフォームが
対応可能ということで、早速触ってみたいと思い本記事を作成しました。

まだFlutterも1年程度しか触ってないのでそっち勉強しろという
状況ではありますが。。。笑

KMMとは?

簡単に言えば、KotlinでAndroid,iOS両OSの
アプリを作成することができるツールです。

JavaやKotlinのライブラリが使えるなど、
利便性の高さが伺える内容です。

こちらの記事が分かりやすかったです!

必要になる環境

・Android Studio 4.0.0以上
※4.0.0の場合、機能が一部制限されてるので4.0.1以上の方がいいらしい。。
・Xcode 11.3以降
・KMMプラグイン (下記参照)

KMMプラグインはAndroid StudioからInstallしましょう!

File>Settings>plugins
で、kotlin multiまで入力すれば出てくるかとおもいます!

スクリーンショット 2023-04-23 23.04.26.png

環境の情報は公式を参照してそのまま書きました↓

プロジェクト作成

早速HelloWorldを書いていきましょう!
まずはAndroid Studioを開いてください。

NewProject>Kotlin Multiplatform App
を選択します。

スクリーンショット 2023-04-23 23.05.07.png

プロジェクト名を記載して、Nextを押下します。
※保存場所は各自で決めていただけたらと思います

スクリーンショット 2023-04-23 23.05.50.png

次にAndroid・iOS・共有モジュール名を記載し、Finishを押下します。

スクリーンショット 2023-04-23 23.06.13.png

これでプロジェクトが完成します。

プロジェクトが完成し、フォルダが閲覧できるまで結構時間が
かかります。

Android初心者の方は中々作成されず焦るかもですが、
ちょっと待ってみてください。。

プロジェクト完成後

5分くらい待つとプロジェクトが完成し、
下のような画面が出てきます。

スクリーンショット 2023-04-23 23.06.44.png

さていよいよ動かしてみる訳ですが、
AndroidとiOSそれぞれターゲットを変更する必要があります。

右上の方に以下のようなボタンが並んでるかと思います。
AndroidAppから実施しましょう!

スクリーンショット 2023-04-24 0.19.08.png

上記のようにandroidAppに合わせて再生ボタンを押下してください。

エラーが発生した場合

私の環境ですと以下のエラーが発生しました。
参考になれば幸いです。

An exception occurred applying plugin request [id: 'com.android.application']
> Failed to apply plugin 'com.android.internal.application'.
   > Android Gradle plugin requires Java 17 to run. You are currently using Java 11.
      Your current JDK is located in /Library/Java/JavaVirtualMachines/temurin-11.jdk/Contents/Home
      You can try some of the following options:
       - changing the IDE settings.
       - changing the JAVA_HOME environment variable.
       - changing `org.gradle.java.home` in `gradle.properties`.

* Try:
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

どうやらJava17が必要らしい。。
Java11までしか存在をちゃんと知れてなかったので勉強しないと。。

エラー解決方法

File>Settings>Build,Execution,Deployment>
Build Tools>Gradle
で以下のようにJava17以降を入れます。

スクリーンショット 2023-04-24 0.25.13.png

Applyして、Finishしましょう!

上記はVersionが20になってますが、
17以上であれば問題ありません。

再生

再生ボタンを押下して、Buildしましょう!
成功すれば以下のようにEmulatorが動作します。

スクリーンショット 2023-04-23 23.34.25.png

以下のようにiOSも実施します。

スクリーンショット 2023-04-23 23.39.24.png

そして再生すると。。

Simulator Screen Shot - iPhone 14 - 2023-04-23 at 23.36.37.png

無事iOSでも動作が確認できました!

最後に

今回は試しに触ってみただけのため簡単な記事に
なりますが、Flutter以外でもマルチプラットフォームを触っていけたらと
思います!

本記事が参考になれば幸いです!

参考文献

▪️KMM公式

▪️Java 17新機能まとめ

▪️Kotlin Multiplatform Mobile と Flutterの違いについて

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1