こんにちは、kazuです。
React Nativeでアプリを開発する際、Expoを利用した開発とReact Native CLIを用いた開発の2つのアプローチがあります。
Expoは簡単に開発を始めることができる一方で、いくつかの制約があります。
一方、React Native CLIを使用する方法では、よりネイティブに近い開発体験が得られます。
この記事では、React Native CLIを使用した環境構築の手順について、Androidに焦点を当てて解説します!
前提条件
以下表はインストール済みのものです。そして私の環境になります。
以下は必須なので、必ずインストールしてください!
| OS | MacOS |
| Node.js | 20.9.0 |
| npm | 10.1.0 |
| Java(JAVA_HOME設定済み) | OpenJdk 17.0.9 |
| homebrew | – |
| AndroidStudio | Android Studio Hedgehog |
補足
AndroidStudioですが、Giraffe以上が必要です(2024/2 現在)
理由としては以下インストール直後にビルドしたら以下のエラーが出たからです。
The project is using an incompatible version (AGP 8.1.1) of the Android Gradle plugin. Latest supported version is AGP 8.0.0
簡単にいうとAGPが保証されていないよというエラーですね。私がFlamingoを使用していたときにエラーが出ました。そしてAndroid Studio Hedgehogをインストールして再度試してみるとエラーが出なくなったのでそういうことらしいですね。
以下は必要なAGPバージョンのサポートが記載されている公式サイトです。
>> Android Developer – Android Studio Hedgehog
環境構築を行う
次に実際に環境構築を始めていきます!
1.環境変数の設定を行う
export ANDROID_HOME=~/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/platform-tools
2.watchmanをインストールする
ターミナル上でbrew install watchman実行しwatchmanをインストールする。
ちなみにwatchmanとはファイルを監視し、ファイルが変更された時特定のアクションを実行するツールのことです。
3.ReactNativeでプロジェクトを作成する
では、実際にReactNativeでプロジェクトを作成していきます!
インストールしたい場所にディレクトリ移動してnpx react-native init <プロジェクト名> npx @react-native-community/cli@latest init <プロジェクト名>を実行する
これだけです。簡単ですよね!!
※6/7更新 ただのinitは非推奨になったみたいですね今は@react-native-community/cli@latest initが正しいみたいです!
実際にアプリをビルドしてみる
次は実際に起動していきます。方法は2つあるので紹介していきます。
1つ目はnpm run startからmetroを起動してビルドする方法
もう一つはAndroidStudioのRun'App'からのアプリをビルドする方法の二つです。
上記は同じビルドでも性質が違うので説明します。
metroからのビルド
まずmetroとは何かということですが、
MetroはFacebookのReactNativeチームによって開発された、
アプリケーションを数千のモジュールを効率的に操作できるものです。
Metroからビルドをするとデバッグビルドが実行されます。そしてデバッグのアプリがインストールされます。
ここで認識をしてほしいのですが、デバッグビルドではMetroを起動していないとアプリが起動できません。
ただデバッグビルドで開発するメリットとしては、Metroがリアルタイムでコードの変更を検出してホットリロードなどの機能でアプリを更新すること可能になります。
またconsole.logなどのログを出力してくれるのがメリットです。
AndroidStudioからのビルド
次はAndroidStudioからのビルドです。やることはネイティブアプリと同じになります。
まずはBuild Variantsからreleaseに変更してRun'App' をクリックする。これだけです!
releaseビルドでアプリをインストールすると次のようなメリットがあります。
まずexpoやmetro経由でビルドするとアプリをPCと端末を繋いでおかないといけないです。
ただ、AndroidStudioからリリースビルドを実行するとPCに接続していなくてもアプリが起動できるようになります。
最後に
いかがでしたでしょうか?
ReactNativeの環境構築(Android)の仕方を書いていきました!
ネイティブの方からReactNativeに入ると開発手法が違くて戸惑うと思います。
私も慣れるのに時間がかかりました。
ただホットリロードなどはすごく便利になります。
最近は探せば色々なパッケージがあるので開発しやすくなっているので、ReactNativeを開発の選択肢に入れるのもいいと思いました。
iOS版の記事も書こうかと思っています。
最後までご確認いただきありがとうございました。