FlutterをAndroid Studioで開発するとき、ランチャーアイコンなどの設定はネイティブアプリとして開いて操作します。
ネイティブアプリとして開くには、Android StudioのFlutterプラグインのバージョンが「80.x」以降では、それ以前と起動メニューが変わっています。
この記事では、Android StudioでFlutterプロジェクトをネイティブモジュールとして表示する方法の紹介と、注意点などを解説します。
- Android Studio: Koala(2024.1.1)
- Flutter SDK: 83.0.2
Androidネイティブとして開く[Open In Associated Application]
[android]直下の[build.gradle]を右クリックして、[Open In]>[Open In Associated Application]をクリックします。
[build.gradle]ファイルは、[android]>[app]フォルダにもありますが、ここで右クリするのは[android]直下の[build.gradle]です。
上記の方法でうまく行かなかった場合、[.gradle]の拡張子のファイルから起動するアプリがきちんと関連づけされていないことが考えられます。
その場合は、次の方法で関連づけられているアプリを確認します。
補足1:Android Studio内の関連アプリの設定
Android Studioのプロジェクト表示で[build.gradle]に「ぞうさんマーク」があることを確認します。
もし「ぞうさん」じゃないなら、関連づけられているアプリが違っている可能性があるので「ぞうさん」になるよう修正します。
[build.gradle]を右クリックして、[Override File Type]をクリックします。
たぶん、Android Studio内での[.gradle]ファイルの関連アプリが間違っていることはないと思うけど、念の為の確認、ということで…
再度、[android]直下の[build.gradle]の右クリックから、[Open In]>[Open In Associated Application]を実行してみてください。
補足2:Finderの関連アプリの設定
私の場合は、Android Studioの表示は「ぞうさん」だったにもかかわらず、VSCodeが起動してしまいました。
特定のアプリを起動するんじゃなくて、[Associated Applicationを開く]と言っているんだから、Finderでの設定に依存してるってことなんでしょうね。(「ぞうさん」を確認しても意味ない…)
で、Finderで[build.gradle]の情報を見てみたら、関連アプリが「VSCode」になっていたので、これをAndroid Studioに変更します。
Finderで[build.gradle]の右クリックから、[情報を見る]>[このアプリケーションで開く:]のプルダウンボックスから「Android Studio.app」を選びます。
次に、拡張子が[.gradle]のファイルはすべて変更したいので、[すべてを変更…]をクリックします。
起動アプリの修正直後は、Finderの表示はVSCodeのままだけど、[build.gradle]右クリックは、きちんと動作します。
(たぶん、Macを再起動すると表示も更新されます。)
[.gradle]ファイル以外に、[.xml]ファイルもAndroidネイティブとして開きたいことがあるので、[.xml]も[.gradle]同様に、Finderでの関連アプリをAndroid Studioに変更しておくと良いです。
それにしても、Android Studio内での連携じゃなくて、Finderでの設定に依存してアプリを起動するなんて、乱暴な感じもするけど…(ひとりごと)
大抵の場合、Android Studioは「アプリケーション」の中にインストールされていると思うけど、私の場合「アプリケーション」の中にはAndroid Studio Bumblebeeバージョンが入っていて、今使っているKoalaは別のフォルダにインストールされていました。
思い出したが…
以前、すでにAndroid Studioをインストールしていたのを忘れて、「JetBrains Toolbox」から、別フォルダに再度インストールしてしまっていたのでした…
それを忘れて、最初はBumblebeeに関連付けてしまい、Koalaで[build.gradle]を右クリックしたらBumblebeeが起動してネイティブ開発のアプリが開く、という事態に…(目がテン)
なので、再度Finderで関連付けを修正。
iOSネイティブとして開く
FlutterプロジェクトをiOSネイティブとして開くには、Xcodeを起動します。
Android StudioからXcodeを起動する方法を、2つ紹介します。
方法1:「Open iOS/macOS module in Xcode」
まずは、Android Studioのプロジェクトの中から、Xcodeで編集できるファイル(.pngとかじゃないファイル)をダブルクリックして開きます。
ここでは、プロジェクトの一番上の開きやすい位置にある「Flutter」フォルダ内の「AppFrameworkInfo.plist」ファイルを開きました。
ファイルを開いたら、画面上部にある「Open iOS/macOS module in Xcode」をクリックして、Xcodeを起動します。
Android Studioで開くファイルは、「iOS」フォルダの中から選びます。
でも、自分では「iOS」フォルダ内のファイルの役割を全て把握しているわけじゃないので、なんでもテキトーに選ぶというよりは、以下の2つくらいから開いています。
- ios/Flutter/AppFrameworkInfo.plist
- ios/Runner/Info.plist
方法2:「Open In Associated Application」
2つめの方法は、「iOS」の下の「Runner.xcworkspace」フォルダを右クリック>[Open In]>[Open In Associated Application]を実行する方法です。
すると、XCodeが立ち上がります。
iOSフォルダには、Runner.xcworkspaceと似た名前で「Runner.xcodeproj」フォルダもあるので、間違わないように注意。
選択するのは「Runner.xcworkspace」です。
「Flutter」がメニューから消えた!?
Android StudioのFlutter SDKバージョン80.xまでは、「Android module in Android Studio」、または「iOS module in Xcode」という名称で右クリックメニューの「Flutter」から起動できていました。
ところが、Flutter SDKのバージョン80で、右クリックメニューから「Flutter」が削除されました。
これにはたくさんのissueも上がっているのだけど、Flutter SDKが83になった2024年12月になっても、復活する兆しはない様子。
じゃ、どうすればいいの?と、更に検索したら、なんと「みんプロ」さんの解決策を発見しました。
「みんプロ(みんなのプログラミング)」は、今私が受講している動画講座ということもあって、私にとっては安心度・信頼度ともにMAX! やってみない理由はありません。
というわけで今回、「みんプロ」さんに教えてもらった対処法と合わせて、私個人のケースの対処法も解説したというわけです。
「みんプロ」のオリジナル記事はこちら
(たぶん、ほとんどの場合はこれだけで解決すると思う)Android Studio用Flutterプラグイン80.xでOpen android module in Android Studio / Open ios module in XCodeが廃止されたことによる対処法