くうと徒然なるままに

モバイルアプリを作りながらバックエンドも作っています。

AndroidエンジニアがM1 MacにてARM64縛りで開発する

Apple Silicon (ARM, M1) の搭載されたマシンの上でRosetta 2 に一切頼らずAndroid アプリ開発を行えるようにセットアップした記録です。

ARM64, aarch64 とか呼び名は色々あるけど、ARM64とここでは呼びます。

Android Studio

公式サイトより Arm64 対応の Android Studio をダウンロードできます。 Jetbrains Toolbox を使ってもできた気がする。

arm64対応版 は Preview っぽい。けど、普通に使える。

JDK は Android Studio 付属のやつを使えば ARM64版をすんなり使えると思う。

f:id:kuxumarin:20211106181544p:plain

f:id:kuxumarin:20211106181311p:plain

Android Emulator

Arm64 対応版の Image が普通に Android SDK manager よりダウンロードできます。

ただ、Android 10 以降のみなので要注意 (ほら、OS ver 固有のバグとか...)

動作速度は... ちょっと遅い気がするけど Intel mac とほぼ変わらない。

f:id:kuxumarin:20211106181942p:plain

一般的な開発に使うツール

Howbrew v2.6.0 以降より M1 を サポートしてる のでHomebrew 経由でいれるものは大体ARM64ネイティブに対応してる。というか、Rosetta 2を入れてないので全部ARM64に対応してた。

一例

  • ghq
  • peco
  • iTerm2
  • scrcpy

Android SDK / Framework の対応状況

Android アプリを開発する時に使われるライブラリ・ビルドシステムのバージョンによっては気をつける必要がある。

Kotlin

Kotlin 1.5.30 以降ならばネイティブで サポート している。

Gradle

v6.9.0 以降(正確には v7.0 での対応が v6.9 へバックポートされたもの)ならば対応してる

Room

v2.4.0-alpha03 以降ならば 対応してる

sqlite-jdbc の ARM64 向けライブラリが欠損してたっぽい

問題点は、対応版が未だ beta で正式リリースされてないこと。 期待してる。

おまけ ビルド速度

試した機種

  • Macbook Pro 13-inch(2021) M1 / 16GB / 512GB
  • Macbook Pro 16-inch(2019) Intel i9 / 32GB / 1TB

結果

ビルド速度は言うほど圧倒的に速くならない...
ただ、Intel mac はビルドを連続で行うと発熱してCPUの能力を制限してくるのでそれがない分 M1 Macbook Pro の方が早いとも言える。