見出し画像

たのしいところだけやるAndroidアプリ開発


はじめに

 本記事では、Figmaで作成したデザインをLocofy Lightingを用いてReactNativeプロジェクトとして書き出し、Androidアプリとしてビルドする手順について、各種ツールの導入手順を交えて解説します。
 基本的にツールやAIのみを使用して進めるため、デザインの複雑さ、アプリの機能等によりますが、人間が頭を悩ませるのはFigmaで作るデザイン部分のみです。

今回のゴール🏆

 Figmaで制作したデザインを、Figmaのプレビュー通りに、(PCに接続していない)Android端末に表示する。

使用ツール🛠️

今回使用するツールは以下の通りです。

  • Figma - デザイン作成

  • Locofy Lighting - 各種コードのエクスポート

  • Android Studio - アプリのビルド

  • テキストエディタ - コードの手直し

前提条件✅

  • Node.js、npm、Android Studio、Gitのインストールが済んでいる

  • Android端末が手元にある

    • データ転送のできるケーブルでPCと接続し、ファイル転送モードにしておきます

    • PCと同じWifiに接続しておきます

    • 端末は開発者モードに変更しておきます

Figmaでのデザイン制作🎨🖌️

Figmaについて

 Figmaの導入、デザイン作成については、別の記事で詳しく解説していますので、参考に進めてください。
 フレームのサイズや機能は適宜変更してください。

今回作るデザイン

 サカバンバスピスを押すと4種類の画面遷移をするシンプルなアプリを作ります。

プロジェクト名:Basupisu
クリックで画面遷移

Locofyで書き出す🧑‍💻

プラグインの起動

 Figma上部のツールバーから、「Resources」を選択し、入力フィールドに「Locofy」と入力します。ヒットした「Locofy Lighting」を選択すると、Locofyの設定画面が開きます。

Locofyの起動

プロジェクト作成

 Locofyの設定画面で「Convert to Code」を選択します。初回生成時にはプロジェクトの作成を求められるので、一番下の「Create New」からプロジェクト名を作成すると、プロジェクトの設定画面が開きます。
 今回は以下の通り設定しますが、必要に応じて変更してください。

  • What are you building?

    • Mobile App

    • Select Mobile Framework

      • React Native

  • Create New Project

    • プロジェクト名:Basupisu

  • Code Settings

    • JavaScript

  • Project Environment

    • Expo

Locofyプロジェクト作成

書き出し設定

 プロジェクトの作成が終わると、フレーム選択画面に自動で移行します。
 「Select Frames」で「All Frames」を選択し、「Start Sync」を押してFigmaのデザインをLocofyプロジェクトに同期します。
 なお、現在のLocofyで一度に同期できるのは25フレームまでです。25フレームを超えるプロジェクトの場合は、何回かに分けて同期します。その場合、「Selectede Frame」から同期するフレームを選択することができます。

FigmaのデザインをLocofyプロジェクトに同期

プロジェクトのダウンロード

 同期が終わると、自動でブラウザが開きます。
 右上にある青い「Sync/Export」ボタンから、「Export Project」を選択すると、コード生成プロパティが開きます。今回は何もいじらず、右下にある「Confirm Code Export」からプロジェクトをエクスポートします。自動でダウンロードが始まります。

プロジェクトのエクスポート

Expoでテスト👌🔍✔️

依存関係のインストール

 ダウンロードしたZipファイルを展開します。
 コマンドライン上で、展開したフォルダに移動し、以下のコマンドで依存関係をインストールします。

npm install

Expoアプリ上でテスト

 Android端末にExpoGoアプリをインストールしておきます。

 以下のコマンドを実行すると、コマンドライン上にQRコードが生成されます(初回は少し時間がかかります)。

npx expo start

 続いて、以下の文章が表示されるので、aを押します。
 (ここで、Android端末側ExpoGoアプリのアップデートを求められた場合は、Yのままリターンしてアップデートしてください。この手順を踏む場合はCtri+Cで一度処理を中止し、再度Expoでのテストを開始してください)。

Using Expo GoPress s │ switch to development build

› Press a │ open AndroidPress w │ open web

› Press j │ open debugger
› Press r │ reload app
› Press m │ toggle menu
› Press o │ open project code in your editor

› Press ? │ show all commands

 Android端末でExpoGoアプリが自動で起動し、ExpoGoアプリ内でBasupisuアプリが表示されます。
 端末上での表示を確認しながら、意図したアプリになるように調整します。

ネットワークエラー

 ExpoGoアプリでネットワークエラーが出る場合、トンネルモードで起動することで解決できる場合があります。

npx expo start --tunnel

ビルド🛠️⚙️🏗️

 アプリの調整が終わったら、ビルドを行います。ビルドには、Expo Application Services (EAS) CLIを使用します。

easの導入

 コマンドライン上で以下のコマンドを実行して、Expo Application Services (EAS) CLIをインストールします。

npm install -g eas-cli

Expoにログイン

 コマンドライン上で以下のコマンドを実行して、ログインします。Expoアカウントがない場合は新規作成します。

eas login

ビルドの設定

 プロジェクトのルートディレクトリに、eas.jsonというファイルを作成します。中身は以下のように設定します。

{
  "build": {
    "production": {
      "android": {
        "buildType": "apk" 
      }
    }
  }
}

 eas.jsonを変更することで、リリースビルドやデバッグの設定なども行うことができます。詳しくは、公式ドキュメントを参照してください。

ビルドの実行

 コマンドライン上で以下のコマンドを実行して、ビルドを実行します。

eas build -p android

 いくつか質問されるので、以下のように答えます(追加でGitの設定を求められる場合があります)。

PS C:\Users\UserName\Basupisu> eas build -p android
Loaded "env" configuration for the "production" profile: . Learn more: https://docs.expo.dev/build-reference/variables/

📝  Android application id Learn more: https://expo.fyi/android-package
√ What would you like your Android application id to be? ... com.company_name.basupisu
✔ Using remote Android credentials (Expo server)
√ Generate a new Android Keystore? ... yes
✔ Created keystore

Compressing project files and uploading to EAS Build. Learn more: https://expo.fyi/eas-build-archive
✔ Uploaded to EAS

 最後に表示されるBuild detailsのリンクから、ビルドの進捗を見ることができます。

ビルドしたapkファイルをダウンロード

 ビルド完了後、画面に表示されるリンクをクリックすると、ブラウザが開き、自動でダウンロードが始まります。

アプリをAndroid端末にインストール

 エクスプローラーを開き、Android端末上のフォルダにビルドしたアプリをコピーします。
 Android端末上でアプリをインストールします。

完成🎉

 インストールされたアプリを起動し、ExpoGoと同じように動いていれば完成です!

参考文献🔖


この記事が気に入ったらサポートをしてみませんか?