0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Flutter講座(forROS2)04 Androidでビルドする

Posted at

環境

この記事は以下の環境で動いています。

項目
CPU Core i5-8250U
Ubuntu 22.04
Flutter 3.22.2

使用するタブレット環境

項目
タブレット Fire HD 8 Plus(第12世代)
android version FireOS8 (Android 11相当)
android API level 30

概要

ここまでflutterをUbuntuビルドで実行してきましたが、これをAndroid端末で動かせるようにします。

android API level

一口にandroidといっても様々なバージョンがあります。重要なバージョンが2つあります

  • Androidバージョン
    こちらは「設定アプリ」の「デバイス情報」等で確認できます。販売ページなどで記載しているのはこちらのバージョン番号です。
  • APIレベル
    こちらはandroidバージョンに1対1で対応する値です。Android開発者ページで確認することが出来ます。
    例えばandroid13はAPIレベルは33です。

APIレベルは後述のSDKのインストール時に指定する必要があります。例えばAPIレベル30のSDKをインストールすると、Android13(APIレベル33)では実行できますが、Android10(APIレベル29)では実行できなくなります。

AndroidSDK

Android用のアプリを作るために必要なライブラリです。

開発者モード

通常のAndroid端末ではplayストアからインストールしたアプリしか実行できず、第3者の作成したアプリはインストールできません。Android端末で開発者モードを有効にすると、これらの操作が可能になります。

AndroidSDKのインストール

開発PCにAndroidSDKをインストールします。

javaとのインストール

javaのインストール
sudo apt update
sudo apt install openjdk-17-jdk

AndroidSDKのインストール

downloadページの下部にある
commandlinetools-linux-xxxxxxxx_latest.zipをダウンロードします。
これを展開して~/android-sdk/に置きます。

flutter config --android-sdk /home/ubuntu/android-sdk/ を実行します。

flutter doctorで確認

flutter doctorで確認
flutter doctor

これで[✓] Android toolchainという表示があれば成功です。

Android用ビルド

Android端末の開発者モード有効化

通常のAndroid端末は正式リリースされたアプリしかインストール・実行が出来ません。今回はローカルビルドしたアプリをインストール・実行するために「開発者モード」と「USBデバッグ」を有効にします。

  • 「設定アプリ」を開く->「デバイス情報」を選択
    • 「ビルド番号」を10回ほど連続でタップする
  • 「設定アプリ」を開く->「システム」を選択->「開発者向けオプション」を選択
    • 「USBデバッグ」をONにする

Android端末とPCの接続

開発者モードにしたAndroid端末をPCと接続します。

ADBの再起動

当環境だとこのままだとADBの接続不可のエラーが出ます。root権限で再起動します。

sudo ~/android-sdk/platform-tools/adb reboot

デバイスの接続確認

flutter devicesを実行して端末名を確認します。

実行結果
$ flutter devices
Found 3 connected devices:
  SO 52B (mobile) • HQ615X00B1 • android-arm64  • Android 13 (API 33)
  Linux (desktop) • linux      • linux-x64      • Ubuntu 22.04.4 LTS
  6.5.0-28-generic
  Chrome (web)    • chrome     • web-javascript • Google Chrome 123.0.6312.58

Android用ビルドの実行

Android用ビルド
flutter run -d HQ615X00B1

を実行すると、Android用のアプリのビルドとインストールを実行します。
このあと端末側にアプリが出現するので、それを実行します。

リリースビルド

上記のビルドはデバッグビルドで、問題発生時に様々な情報が提供される反面、処理負荷の問題があります(今回の例では問題になるほどではありませんが)
以下のコマンドでリリースビルドを行うことが出来ます。

Android用ビルド
flutter run -d HQ615X00B1 --release

参考

目次ページへのリンク

ROS2講座の目次へのリンク

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?