Elegant Access

最新記事

共有
CrossPlatform#CMP#Kotlin

はじめに

Compose Multiplatform (略称CMP)

昨日、CMPプロジェクトの構築が完了したばかりです

プロジェクトをIDEに正常にインポートできた場合

以下のようなフォルダ構造が表示されます

<img src="/images/compose/032.png" alt="Cover" class="w-half prose-img" / loading="lazy" decoding="async">

この時点で、コンパイルが可能かどうか確認できます

正常にコンパイルされた場合

以下のような画面が表示されます

シミュレータで実装されたアプリ画面が開き

右下にコンパイルの成功・失敗メッセージが表示されます

<img src="/images/compose/033.png" alt="Cover" style="width: 65%" / loading="lazy" decoding="async" class="prose-img">

Androidシミュレータのインストール

昨日の記事:Wizardを使ってCMPプロジェクトを作成の方法で作成した場合

基本的なプロジェクト設定はすでに構成済みです

基本的に、2日目のCMP環境のインストール

システム環境が正しくインストールされていることを確認するだけです

例えば、JDK、Kotlinなど

<img src="/images/compose/034.png" alt="Cover" class="w-half prose-img" / loading="lazy" decoding="async">

次に、コンピュータ上でシミュレーションする場合

Androidシミュレータを作成する必要があります

上部システムバーのTools > Device Managerをクリックします

<img src="/images/compose/035.png" alt="Cover" style="width: 35%" / loading="lazy" decoding="async" class="prose-img">

右側にDevice Managerウィンドウが表示されます

<img src="/images/compose/036.png" alt="Cover" class="w-half prose-img" / loading="lazy" decoding="async">

上部の+をクリックし、Create Virtual Deviceを選択します

<img src="/images/compose/037.png" alt="Cover" class="w-half prose-img" / loading="lazy" decoding="async">

作成したいAndroidシミュレータを選択するウィンドウが表示されます

Phone、Tablet、TV、Watch、Automotiveなどがあります

Android Studioは後期に主にGoogleによって維持されているため

Google Pixel OSを搭載したAndroid PhoneのAVD(Android Virtual Device)をダウンロードできます

もちろん、Pixel AVDのイメージファイルはAndroid Developer公式サイトからもダウンロードできますが

Googleはそれを親切にIDEに統合してくれています

<img src="/images/compose/038.png" alt="Cover" style="width: 65%" / loading="lazy" decoding="async" class="prose-img">

希望のPhoneを選択し、右下のNextをクリックします

Android SDKの選択画面に進みます

テストしたいSDKに応じて選択します

以前にダウンロードしていないSDKは

グレー表示され、右側にダウンロードアイコンがあります

ダウンロード完了後に選択できるようになります

Nextをクリックすると、シミュレータの設定ができます

方向、ネットワーク、起動設定、RAMサイズ、SDKサイズなどを設定できます

選択後、右下のFinishをクリックします

<img src="/images/compose/039.png" alt="Cover" style="width: 65%"/ loading="lazy" decoding="async" class="prose-img">

IDEを使用してAndroid Appをビルド
上部で先ほど作成したシミュレータを選択し

上部のプロジェクト実行ボタン(緑色の再生ボタンのようなもの)をクリックして、IDEにビルドしてもらいシミュレータにインストールします

<img src="/images/compose/040.png" alt="Cover" class="w-half prose-img"/ loading="lazy" decoding="async">

手動でAndroid Appをビルド

ターミナルで以下のコマンドを実行してAPKをビルド

run ./gradlew :yourComposeAppProjectName:assembleDebug

yourComposeAppProjectNameはあなたが作成したプロジェクトの名前です assembleDebugはデバッグバージョンをビルドすることを意味します

.apkファイルはyourComposeAppProjectName/build/outputs/apk/debug/yourComposeAppProjectName-debug.apkにあります

手動インストール
2つの方法があります

1.APKをシミュレータにドラッグ&ドロップ

2.コマンドを使用してインストール(実機でadbを使用する場合は、開発者モードを有効にする必要があります)

adb install ../xxx/yourComposeAppProjectName-debug.apk 

iOSシミュレータのインストール

2日目のCMP環境のインストール時に

Xcodeがインストールされていることを確認します

Android Studioの画面上部にあるAndroidの小さな緑色の人形アイコンの場所をクリックします

ドロップダウンメニューが表示されます

このセクションはプロジェクトで設定されたConfigurationが統合されています

Build Android appBuild iOS app、または一部のgradle taskなどがあります

<img src="/images/compose/041.png" alt="Cover" class="w-half prose-img"/ loading="lazy" decoding="async">

初めてAndroid StudioiOS appを実行する場合

デフォルトのBuild iOS Configurationがない可能性があります

そのため、Edit Configurationをクリックして設定します

左上の+をクリック > iOS Application

<img src="/images/compose/042.png" alt="Cover" class="w-half prose-img"/ loading="lazy" decoding="async">

その後、必要に応じて設定できます

a. タスクの名前を設定

b. Xcode project fileの右端のフォルダアイコンをクリック

c. 表示されるファイル選択ダイアログで.xcodeprojのパスを選択

.xcodeprojを選択してopenをクリック)

<img src="/images/compose/043.png" alt="Cover" class="w-half prose-img"/ loading="lazy" decoding="async">

d. .xcodeprojパスを選択すると

IDEは自動的に内部のschemeconfigurationを読み取ります

そのため、あとは目的のiOS emulatorバージョンとモデルを選択するだけです

<img src="/images/compose/044.png" alt="Cover" class="w-half prose-img"/ loading="lazy" decoding="async">

e. Build Configurationを先ほど作成した設定に変更し

実行ボタンをクリックします

Xcodeを使用してiOS Appをビルド
CMPはrootフォルダ直下にiOSプロジェクトを作成するため

XcodeでCMPプロジェクト配下のiOSAppフォルダを直接開くだけで

Xcodeを使ってiOSAppを直接ビルドできます

まとめ

これでCMPプロジェクトを完全にビルドし、AndroidとiOSシミュレータで実行できるようになりました

<img src="/images/compose/015.png" alt="Cover" class="w-half prose-img"/ loading="lazy" decoding="async">
明日は

CMPのプロジェクト構造といくつかの一般的な問題について紹介したいと思います

関連記事

タグとカテゴリに基づく関連コンテンツ

9 min read

Compose Multiplatform 実践:CMPでのROOMによるクロスプラットフォームデータベース開発とトラブルシューティング

このシリーズのテーマはCompose Multiplatform 実践:Kotlinでゼロからクロスプラットフォームアプリを開発することです。今回はAndroidとiOSのクロスプラットフォームアプリ開発に焦点を当て、最終日には研究結果と感想を共有します。

📁 CrossPlatform
#CMP#Kotlin