flutter doctor
で指摘されたAndroid Studioのセットアップ方法のまとめです。
Android Studioのインストール
公式サイトからダウンロード
Android Studioは公式サイトからダウンロードできます。本記事執筆時点のバージョンは4.1.3です。
Download Android Studio and SDK tools | Android Developers
ダウンロードしたdmgをマウントすると、アプリ本体とApplicationsフォルダへのシンボリックリンクが入っているので、アプリ本体をApplicationsフォルダへのシンボリックリンクにドラッグ&ドロップでインストール完了です。
執筆時点で公式サイトから普通にダウンロードしたバージョンはIntel版でした。Apple Siliconネイティブ版ではありませんでした。
JetBrains Toolbox Appでダウンロード
Android StudioはJetBrainsが開発・販売しているIntelliJ IDEAを元にしているIDEです。そのような経緯もあってか、JetBrains Toolbox AppもAndroid Studioに対応しています。
JetBrains Toolbox AppはJetBrainsが開発しているIntelliJ IDEA系のIDEのインストールやアップデートを管理するアプリです。私はAppCodeを使っていることもあり、JetBrains Toolbox Appを使ってIntelliJ IDEA系のIDEを管理しています。
Toolbox Appp経由でもAndoroid Studioをダウンロード及びインストールできます。
Toolbox Appは以下のページからダウンロードできます。
JetBrains Toolbox App:ツールを簡単に管理
Toolbox AppにもIntel版とApple Siliconネイティブ版があります。Apple Sliconネイティブ版をダウンロードするには、ダウンロードボタンのディスクロージャーボタンをクリックして、「.dmg(macOS Apple Slicon)」を選択します。
ダウンロードしたdmgをマウントすると、アプリ本体とApplicationsフォルダへのシンボリックリンクが入っています。アプリ本体をApplicationsフォルダへのシンボリックリンクにドラッグ&ドロップでインストール完了です。
Toolbox Appを起動すると、メニューバーにToolbox Appアイコンが追加されるので、クリックして開きます。JetBrainsのサブスクリプションを契約しているユーザーの場合は、設定画面にアカウントの設定があります。アカウントを設定すると、サブスクリプションで契約中のアプリもToolbox Appから管理できるようになります。
Toolbox Appは各アプリについて複数バージョンを保持できるようになっています。複数バージョンは不要という場合には、設定画面で「Keep only the latest version」をオンにしておきます。
Android Studioをインストールするには、Toolbox Appの「Tools」タブの「Available」の「Anrdroid Studio」の隣にある「Install」ボタンをクリックします。なお、Apple Siliconネイティブ版がリリースされると、「Available for Apple Silicon」の方にも表示されるようになり、どちらのアーキテクチャのビルドをインストールするか選択できるようになります。両方共存もできます。
Setup Wizard
初回起動時はSetup Wizardが表示されます。指示に従ってセットアップを進めると、SDKなど必要なコンポートネントのダウンロードとインストールが行われます。少し時間がかかりますが、そのまま終わるまで待ちます。
完了すると完了画面が表示されますが、ログに次のようなエラーが表示されます。
Unable to install Intel® HAXM Your CPU does not support VT-x. Unfortunately, your computer does not support hardware accelerated virtualization. Here are some of your options: 1) Use a physical device for testing 2) Develop on a Windows/OSX computer with an Intel processor that supports VT-x and NX 3) Develop on a Linux computer that supports VT-x or SVM 4) Use an Android Virtual Device based on an ARM system image (This is 10x slower than hardware accelerated virtualization)
Intel HAXMがインストールできなかったため、VT-xにCPUが対応していないというエラーです。「Finish」ボタンをクリックしてウィザードを完了します。
2021年8月3日 追加
バージョン 2020.3.1.22で試すとIntel HAXMがインストールできず、VT-xにCPUが対応していないというエラーは表示されなくなりました。また、次のようにログが出力され、x86版の仮想デバイスではなく、arm64版の仮想デバイスが作成されたということが確認できます。
Creating Android virtual device Android virtual device Pixel_3a_API_31_arm64-v8a was successfully created
プラグインのインストール
Flutter用のプラグインをインストールします。次のように操作します。
(1) Welcome画面の「Configure」から「Plugins」を選択します。
(2) 「Marketplace」タブで「Flutter」を検索します。
(3) 「Flutter」プラグインが見つかるのでインストールします。画面の指示に従って行くと必須プラグインのインストール確認も表示されるのでインストールします。「Dart」プラグインもインストールされます。
Androidエミュレータについて
Androidエミュレータはログに出ていたとおり、まだ、エラーになってしまいます。プレビュー版などをインストールすれば、起動できるようになるようですが、不具合がまだそれなりにあるようです。私は実機でデバッグすれば良いので、エミュレータのセットアップは一旦見送ることにしました。
google/android-emulator-m1-preview
Developing with Flutter on Apple Silicon · flutter/flutter Wiki
2021年8月4日 追加
バージョン 2020.3.1.22 で試すとデフォルトで作成された arm64版の仮想マシンを起動できたのですが、Android Studioからアプリをシミュレータ内で実行できませんでした。
Flutterとの組み合わせ確認
本記事の元々はFlutterのセットアップです。Android StudioとSDKのセットアップが完了したので、Flutterからも認識されるか確認します。
$ flutter doctor objc[4501]: Class AMSupportURLConnectionDelegate is implemented in both ?? (0x20d08c188) and ?? (0x117d702b8). One of the two will be used. Which one is undefined. objc[4501]: Class AMSupportURLSession is implemented in both ?? (0x20d08c1d8) and ?? (0x117d70308). One of the two will be used. Which one is undefined. Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, 2.0.4, on macOS 11.2.3 20D91 darwin-arm, locale ja-JP) [!] Android toolchain - develop for Android devices (Android SDK version 30.0.3) ✗ Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses [!] Xcode - develop for iOS and macOS ✗ CocoaPods not installed. CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side. Without CocoaPods, plugins will not work on iOS or macOS. For more info, see https://flutter.dev/platform-plugins To install see https://guides.cocoapods.org/using/getting-started.html#installation for instructions. [✗] Chrome - develop for the web (Cannot find Chrome executable at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome) ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable. [✓] Android Studio (version 4.1) [!] Connected device ! Error: iPadPro is not connected. Xcode will continue when iPadPro is connected. (code -13) ! Error: iPhone XS is not connected. Xcode will continue when iPhone XS is connected. (code -13) ! Doctor found issues in 4 categories.
Android Studioは認識されましたが、Android Toolchainはエラーになっています。理由はAndroidのライセンスへまだ同意していないからのようです。出力されているコマンドを実行します。
$ flutter doctor --android-licenses
画面の指示に従ってライセンスに同意したら、再度、flutter doctor
を実行します
$ flutter doctor Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, 2.0.4, on macOS 11.2.3 20D91 darwin-arm, locale ja-JP) [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3) [!] Xcode - develop for iOS and macOS ✗ CocoaPods not installed. CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side. Without CocoaPods, plugins will not work on iOS or macOS. For more info, see https://flutter.dev/platform-plugins To install see https://guides.cocoapods.org/using/getting-started.html#installation for instructions. [✗] Chrome - develop for the web (Cannot find Chrome executable at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome) ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable. [✓] Android Studio (version 4.1) [!] Connected device ! Error: iPadPro is not connected. Xcode will continue when iPadPro is connected. (code -13) ! Error: iPhone XS is not connected. Xcode will continue when iPhone XS is connected. (code -13) ! Doctor found issues in 3 categories.
Android ToolchainもOKになりました。
Flutterのセットアップについて
Flutterのセットアップについては以下の記事を参照してください。
[clink url=https://www.rk-k.com/archives/4087]