3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ReactNative+ExpoでAndroidアプリをリリース

Last updated at Posted at 2022-12-01

はじめに

この記事は Google Developer Student Clubs Japan Advent Calendar 2022 2日目の記事です。
はじめまして!GDSC HitotsubashiのLeadをやっております、oreoです。
一橋大学法学部に在籍中で、エンジニアインターンではReactを使ったwebアプリ開発に参加しています。
個人では、GDSC Hitotsubashiに所属しているメンバーとReactNativeでモバイルアプリの開発もしており、先日Androidアプリをリリースしました。リリースする際にExpoが便利だと感じたので記事にしました。

ReactNativeとは

Expoの説明に入る前にReactNativeの説明をします。
ReactNativeはモバイルアプリケーションフレームワークです。iOSとAndroidの両方で動作するクロスプラットフォーム開発が可能です。同じクロスプラットフォームアプリ開発のフレームワークとしては、Googleが開発したFlutterなどがあります。

Expoとは

ExpoはReactNative用の開発ツールです。ネイティブ機能の組み込みに一部制約があるようですが、開発環境の整備や実機での動作確認が簡単であるというメリットがあります。実機テストはExpo Goというアプリを実機にインストールして開き、expoのアカウントでログインするだけでテストしたいアプリを動かすことができます。今回はExpoの環境構築は割愛させていただきます。

Androidアプリをリリースする際に便利だと感じたこと

Androidアプリをリリースするためには通常Google Play Consoleというツールを使用します。アプリのテスト版や製品版を公開するためにはここにaabファイル(Android App Bundle)をアップロードする必要があります。
2022-12-01 (4).png
aabを作成するためにまずビルドする必要がありますが、これはExpo CLIを使ってコマンドライン上でeas buildと打てばビルドできます。そしてExpoのアプリのページでビルドの状況を確認したり、aabファイルをダウンロードしたりすることができます。
このように簡単にaabファイルをアップロードすることができ、あまり躓かなかったのですが、最終テスト版をアップロードする際に少し躓きました。S__10297354.jpg
APIレベルが31に達していなかったためaabファイルをアップロードすることができませんでした。AndroidアプリのAPIレベルを変更するためには通常build.gradleとAndroidManifest.xmlにAPIレベルを記述する必要があるそうですが、expoのアプリにはbuild.gradleがなかったため困りました。しかし、色々調べて試してみたところ、Expo SDKをアップデートするだけでAPIレベルが31に達しました。Expo SDKを最新に保っていればこちらで特に記述しなくてもAPIレベルの制限に引っかからないのは便利だと思いました。
ということで無事にリリースできました。

さいごに

今回はReactNativeとExpoとAndroidアプリのリリースの手順を簡単に紹介しました。
GDSC Hitotsubashiはまだまだメンバーを募集中です。私たちと一緒にアプリを開発してみませんか?
最後までお読みいただきありがとうございました。

3
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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?