コンテンツにスキップするには Enter キーを押してください

Ubuntu20.04に Flutter の環境構築しようとするとつまりまくった話

Last updated on 2022年3月14日

Ubuntuに Flutter をいれて楽しくアプリ開発をしようと思っていたのですが思わぬ苦戦に陥りました。なんとなく癪なので、ブログで共有して供養したいと思います。

Pikisuperstar – jp.freepik.com によって作成された technology ベクトル

基本的には公式チュートリアルに従って進めます。

https://docs.flutter.dev/get-started/install/linux

UbuntuにFlutterを導入するステップは全部で3つに分けることができます。

  1. FlutterSDKのインストール
  2. Androidのセットアップ
    1. Android Studioのインストール
    2. Androidデバイスのセットアップ
    3. Android emulatorのセットアップ
  3. Android Licenceの認証

以下、順番にやっていきます。

Flutter SDKのインストール

チュートリアルを見てみると、前提となるコマンドが以下の通り存在するよーと言われています。

Tools: Flutter depends on these command-line tools being available in your environment.
bash
curl
file
git 2.x
mkdir
rm
unzip
which
xz-utils
zip

 次のコマンドを打ち込んで一気にインストール。

$ sudo apt install bash clang curl git libcanberra-gtk-module libglu1-mesa unzip xz-utils 

次はFlutter SDKをインストールするのですが、snapdというツールを使うと楽らしいので、snapdを先にインストールします。その後、下記のコマンドでFlutterを一気にインストール。

 $ sudo snap install flutter --classic

次は、パスを通します。

どこでもよいのですが、以下のようにしました。

$ export PATH=$PATH:/usr/local/flutter/bin

ここまでは良かったのですが、次のステップである、デバイスを認識させる段階で非常に苦労しました。

Androidのセットアップ

Android Studioのインストール

まず、Andorid Studioをダウンロードします。

Androidデバイスのセットアップ

さらに、この記事を参考にデバイス側の設定を行い、USBケーブルでつないだのですが、なぜか認識しません。

(”flutter doctor”とコマンドで打ち込むと認識しているかどうかわかります。)

調べたところadbというツールが必要らしいのでインストールしました。

が、だめ。

更に調べたところ、下記の操作が必要らしいので実行。

$ sudo apt-get update
$ sudo apt-get install android-sdk-platform-tools-common

参考:https://howtoinstall.co/en/android-sdk-platform-tools-common

これで再起動したところ、デバイスが認識されました。

やれやれ。

Android Emulaterのセットアップ

次にエミュレータを設定します。

VM accelerationなるものを有効にするらしいのですが、ここでも苦戦します。

(参考:https://developer.android.com/studio/run/emulator-acceleration)

まずはkvmをインストールする必要があるのですが、最初に、仮想化できるかどうかを調べます。

$ sudo apt-get install cpu-checker
$ egrep -c '(vmx|svm)' /proc/cpuinfo

出力が 1 以上の場合、仮想化がサポートされています。出力が 0 の場合は、CPU がハードウェア仮想化をサポートしていません。

僕の場合は0でしたが、構わず続けます。(伏線)

$ kvm-ok

このコマンドを打つことで仮想環境が実行可能かどうか調べることができます。

理想の結果は、

INFO: /dev/kvm exists KVM acceleration can be used

らしいのですが、僕の場合は、

INFO: Your CPU does not support KVM extensions KVM acceleration can NOT be used

でした。

え???????

CPUが非対応?もうどうしようもないじゃん・・・

と落ち込んでいたら意外なところから救いの手が。

Ubuntuの公式ヘルプwikiによると別に問題なく使えるそうで、(https://help.ubuntu.com/community/KVM/Installation

ならばと、次のコマンドを実行してkvmをインストールします。

$ sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils

無事インストールしてめでたしめでたし(伏線②)

公式チュートリアルに戻ります。

Android Studioを開き、AVD ManagerからCreate Virtual Device…を選択。

デバイスを選択し、Nextを押す。さらに4つの候補の中から任意の選択肢を選んだところ、次のエラーが。

Enable VT-x in your BIOS security settings, ensure that your Linux distro has working KVM module.

やっぱり使えないのかよ!!!!!!!

というわけでBIOSを起動し、CPUのvirtual Machine設定を有効にし、再度試したところ無事完了!

やれやれ。

Android Licenceの認証

最後にAndroid Licenceを認証します。

$  flutter doctor --android-licenses

と祈るような気持ちで打ち込んだところ、無情にもエラーが。

Android sdkmanager not found. Update to the latest Android SDK and ensure that the cmdline-tools are installed to resolve this.

このエラーは@ShortArrowさんのQiitaの記事を参考にさせていただき、解決しました。

参考:https://qiita.com/ShortArrow/items/46ca3717384039419605

パスは問題なさそうだったので、Android Studioを開き、Tools > SDK Toolsより、

Android SDK Command – Line tools(latest)にチェックを入れ、インストール。

これでようやく完了しました。

Ubuntuでの開発、本当に一筋縄では行きません。

過去記事です。

よかったらどうぞ。

コメントを残す

メールアドレスが公開されることはありません。