Fedora 35にFlutterをインストール

前提

Android StudioをFlatpak経由でインストール済みの場合を想定しています。 FlatterはSnap経由でインストールするのが簡単そうなのですが、すでにFlatpakを使っており、これ以上パッケージマネージャーを増やしたくないし、このためだけに乗り換えるのもなんだかなあという人の参考になればと思います。

大筋は以下に従います。 docs.flutter.dev

依存関係のインストール

公式によるとClang, CMake, GTK development headers, Ninja build, pkg-configが要るとのことですが、pkg-configはデフォルトで入っているようなのでそれ以外をインストールします。

sudo dnf install ninja-build cmake clang gtk3-devel

Flutterのインストール

ホームにbin/というディレクトリを掘って、そこにgit cloneします。 どこでもいいのですが、普段から~/binに自作スクリプト類を色々と置いてるのでそこに同居させています。 全ユーザーが使うなら/opt/などがいいと思います。

mkdir ~/bin
cd ~/bin
git clone https://github.com/flutter/flutter.git

PATHを通します。 .bashrcか.bash_profileに以下を追記してください。

export PATH="$HOME/bin/flutter/bin:$PATH"
source ~/.bash_profile

flatter doctorが通るようにする

まずはAndroid Studioを立ち上げ、各種アップデートを完了しておいてください。

Android Studioが大人しくなったら、Flatpak経由で入れた場合のAndroid StudioのパスをFlatterに教えてあげます

flutter config --android-studio-dir=/var/lib/flatpak/app/com.google.AndroidStudio/current/active/files/extra/android-studio/

つぎに、Android SDKコマンドライン ツールを入れます。 Androidsdkmanagerコマンドを使えるようにするため、.bashrcか.bash_profileに以下を追記してPATHを通してください。

export PATH="$HOME/Android/Sdk/tools/bin:$PATH"
source ~/.bash_profile

今のsdkmanagerはJava8でないと動かないようなので、alternativesコマンドで切り替えておきます(Java8がインストールされていない場合は入れておいてください)。 以下のコマンドで使用するJavaのバージョンを選択できます。

sudo alternatives --config java

java --versionでJava8に切り替わってることを確認できたら、Android SDKコマンドラインツールのインストールを実行します。

sdkmanager --install "cmdline-tools;latest"

これでflutter doctorコマンドを実行して、全項目[✓]になればOKです!

$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[] Flutter (Channel master, 2.6.0-12.0.pre.789, on Fedora Linux 35 (Workstation Edition) 5.14.18-300.fc35.x86_64, locale ja_JP.UTF-8)
[] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
[] Chrome - develop for the web
[] Android Studio
[] IntelliJ IDEA Community Edition (version 2021.2)
[] VS Code (version 1.62.3)
[] Connected device (1 available)

• No issues found!

Java 11に戻した上でflutter doctorしても通ったので、とりあえずこれでOKだと思います。