開発ブログ

株式会社Nextatのスタッフがお送りする技術コラムメインのブログ。

電話でのお問合わせ 075-744-6842 ([月]-[金] 10:00〜17:00)

  1. top >
  2. 開発ブログ >
  3. Kotlin >
  4. Compose Multiplatform 入門(プロジェクト作成編)

Compose Multiplatform 入門(プロジェクト作成編)

logo.png
こんにちは、ホンジョウです。
前回の記事ではCompose Multiplatform開発環境をセットアップしましたが、今回はプロジェクトの作成から実行までをやっていきたいと思います。

Kotlin Multiplatform Compose Wizardを使用したプロジェクトの作成

公式サイトがCompose Multiplatformアプリケーションの雛形を作成するページを用意してくれているので、こちらを使用します
Kotlin Multiplatform Compose Wirzard
 

プロジェクト名・プロジェクトIDの入力

Project Name, Project IDを入力します。

プラットフォームの選択

Android, iOS, Web, Desktop, Serverを選択できます。今回はAndroid, iOSを選択します。
「DOWNLOAD」ボタンを押すとzipでプロジェクトの雛形がダウンロードされます。それを展開してAndroid Studioでプロジェクトを開きます。

この時点でなにも問題が起こらなければAndroid、iOSのエミュレータで実行できます。
Android Studio 右上の三角のRunボタンをクリックするとエミュレータが立ち上がり、アプリが実行されます。
Andorid、iOSの切り替えはRunボタンの左から選択することができます。
os_switching.png
compose_platform_play.png

無事に動作したのを確認できたところで、私が踏んだエラーと、その解決方法をいくつかご紹介していこうと思います。
 

JDKバージョンが低いというエラー

JDKバージョン17以降を使ってくれ、みたいなエラーが出ました。JDKのインストールをしなおして、バージョンが17以降であることを確認しましょう。

% java -version
java version "17.0.10" 2024-01-16 LTS
Java(TM) SE Runtime Environment (build 17.0.10+11-LTS-240)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.10+11-LTS-240, mixed mode, sharing)

ジャーナルファイルロックエラー

ジャーナルファイルがすでにロックされていて実行できないというエラーメッセージが出ることがあります。
特にAndroidからiOSにプラットフォームを切り替えた直後などにGradleのタスクを実行すると出やすいエラーです。

Owner PID: xxxxx

とエラーメッセージに書いているので、ターミナルでプロセスを停止させます。

kill xxxxx

こちらは実行時に自動でkillコマンドを実行するスクリプトを作成するなどの解決方法しかなさそうだったので、いったん手動でkillする方法で解決しています...。
参考:Android Studioでのビルド時のジャーナルファイルロック絶対回避するマン
 

最後に

第一回、第二回と、環境構築系の話が続きましたが、次回からは少しずつ実装系の話ができればなと思っております。お楽しみに!
  • posted by りっちゃん
  • Kotlin
TOPに戻る