M1 MacへのAndroid Studioのセットアップ

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」ボタンをクリックしてウィザードを完了します。

プラグインのインストール

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

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のセットアップについては以下の記事を参照してください。

投稿者プロフィール

林 晃
林 晃macOS/iOSアプリ/SDK/ミドルウェア開発が専門の開発者
アールケー開発代表。macOS/iOSアプリ/SDK/ミドルウェア開発が専門の開発者。ObjC/Swift/C++使い。豊富な開発実務経験を基に、教育コンテンツ開発、技術書執筆、技術指導、技術セミナー講師、企業内研修講師、行政・自治体職員研修講師も行います。

基礎から学ぶMetal


「基礎から学ぶMetal」を執筆しました。本書はMetalを使ってGPUプログラミングを行うための最初のステップを解説するMetalの解説書です。

私が初めてGPUプログラミングを行ったとき、どこから手をつけて、学んでいけば良いのか分からず呆然としました。もし、あのとき、これを教えてくれればという部分を解説しました。本書で解説している部分はMetalの基礎となる部分で、Metalを使うときに必ず触れることになる部分です。

詳細

基礎から学ぶSwiftUI


「基礎から学ぶ SwiftUI」というタイトルの本を執筆しました。

SwiftUIの入門書です。

SwiftUIのコンセプトは「ユーザーインターフェイスを作るための最短パスを提供する」「一度学べば(Appleのプラットフォームの)どこにでも適用できる」です。

SwiftUIの概要から始まって、一つ一つのテクノロジートピックに注目しながらSwiftUIとは何か?どんなことができるのか?どのようなコードを書けば良いのかなどを丸々一冊使って解説しています。

詳細

関連記事

  1. SwiftでCのポインタのインクリメント・デクリメントのコードを書き換…

  2. コマンドライン引数でモックに差し替える

  3. M1 Mac でのドライバの読み込み判断フロー

  4. 【Python】ArgumentParserでコマンドライン引数を取得…

  5. Xcodeでフレームワークや共有ライブラリの出力シンボルを制御する

  6. SwiftのUnsafeMutableBufferは[]演算子よりも速…

最近の著書

  1. 基礎から学ぶ SwiftUI

人気記事

最近の記事