MacでAndroid15のAOSPをビルドしてエミュレータで動かしたいけれど手順が多くてどこから始めればよいか迷っていませんか。
この記事を読むと必要なソフトの導入からrepo取得ビルドエミュレータ起動まで実際に使える具体的な手順と応用テクニックがわかります。
| 項目 | 内容 |
|---|---|
| 対応するMac環境 | macOSの推奨バージョンや必須ツールの最小要件を実体験ベースで整理しています。 |
| ステップバイステップ手順 | repo初期化からビルドコマンドエミュレータ起動まで迷わないコマンド付きの手順を提示しています。 |
| よくあるつまずき | ビルドや起動時に出やすいエラーとその効率的な直し方を現場感覚で紹介しています。 |
落ち着いて順に進めれば短時間で動く環境が作れますから楽しみながら一緒に進めましょう。
Android博士最初は戸惑うことが多いですが大丈夫です。順を追って進めれば確実に動きますから気楽に取り組んでください。
MacでAndroid15のAOSPをビルドしてエミュレータで起動する方法


MacでAOSPをビルドしてエミュレータで動かすのはワクワクする作業です。Android15を対象にMac上で迷わずビルドして起動するための実践的な手順を優しく案内します。
必要なツールやコマンドは限定的で慌てず一つずつ進めれば大丈夫です。実機に書き込む流れも含めてトラブルになりやすいポイントに対する役立つコツもお伝えします。
最新のmacOSと一般的な開発用PCを想定しています。環境差があるときは補足に目を通しながら進めると安心です。
エミュレータ用イメージをビルドしてMac上で起動する手順


エミュレータ用イメージの作成は案外短時間で試せます。ポイントはAOSPルートで環境を整えてエミュレータ向けターゲットを選んでビルドすることです。
ビルド完了後はout配下のsystem.imgを確認してMac用のemulatorバイナリで起動します。ログを見ながら少し待てば画面が立ち上がることが多いです。
ターミナルでAOSPルートに移動して build/envsetup.sh を読み込み lunch で aosp_arm64-eng を選ぶ
端末でソースのトップレベルディレクトリへ移動します。パスが正しいかlsなどで確認しておくと安心です。
build/envsetup.shをシェルで読み込んで環境変数を整えます。使用しているシェルに合わせて実行してください。
lunchコマンドを実行してaosp_arm64-engを選択します。メニュー方式なら対応する番号を入力して選んでください。
同じターミナルで m -j(CPUコア数)を実行してビルドし out/target/product/デバイス名/system.img を確認して out/host/darwin-*/bin/emulator で起動する
mコマンドにCPUコア数を指定して並列ビルドします。空きコアを見て適切なジョブ数を設定してください。
out/target/product/デバイス名/system.imgが生成されているか確認します。サイズやタイムスタンプを見てビルド成功を判断します。
out/host/darwin-*/bin/emulatorを使って起動します。必要に応じて起動オプションを付けてログを確認してください。
実機にフラッシュしてMacからAndroid15を起動する手順


実機にフラッシュすると本物の端末で動作確認ができますがリスクもあります。ブートローダーのアンロックやデータ消失に備えてバックアップと手順の理解が重要です。
Macからはfastbootを使ってイメージを書き込みます。端末をfastbootモードにして接続が安定していることを必ず確認してください。
ターミナルで実機向けの lunch ターゲットを選び m -j でフルビルドを行う
lunchで実機用のターゲットを選択します。デバイス名が正しいか再確認してから進めてください。
mコマンドでフルビルドを行います。ビルド時間は数十分から数時間かかることがあるので余裕を持って実行してください。
ビルド完了後にMacのターミナルから fastboot を使い fastboot flashall でイメージを書き込み、初回ブートを待つ
ビルド完了後に端末をfastbootモードで接続してfastbootのflashallサブコマンドを使って書き込みます。ブートローダーがロックされている場合は解除してから行ってください。
初回ブートは時間がかかることがあります。ログを確認しながら数分から十数分待つと安定して起動します。
MacでAndroid15のAOSPビルド中に起きる代表的なトラブルと対処法


MacでAndroid15のAOSPをビルドすると、メモリ不足やコンパイルエラー、エミュレータの起動失敗やADBの切断といったトラブルがよく出ます。最初は多く感じるかもしれませんが、一つずつ原因を切り分ければ落ち着いて対処できます。安心して読み進めてください。
代表的な対策としては、ビルドジョブ数を下げること、ccacheを有効にすること、スワップやディスク容量を確保すること、そしてエミュレータログを見てADBをリセットすることです。ここからは実際に効果があった具体的な手順を優しく紹介します。
特にAppleシリコン搭載Macではイメージの互換性や仮想化の違いでつまずきやすいです。OSとSDKツールを最新にして不要なアプリを閉じておくとビルド成功率が上がります。



つまずいても大丈夫です。一つずつ試せば原因が見えてきますから落ち着いて手順をなぞってみてください。困ったときはログを読んで小さな手直しを重ねると解決に近づきます。
ビルド時のメモリ不足やコンパイルエラーをMacで対処する方法


ビルド時にメモリ不足やコンパイルエラーが出たら、まず同時実行ジョブ数を下げて負荷を減らします。m -j1で再ビルドするとメモリ圧迫が緩和され、エラー箇所を特定しやすくなります。
さらにccacheを有効にすると再ビルドが早くなりメモリ消費も抑えられます。~/.ccacheのサイズを確認して足りなければ容量を増やすか不要ファイルを削除してください。スワップ追加は最終手段としてディスク速度に注意して検討してください。
メモリ不足はジョブ数を下げて m -j1 で再ビルドし ccache を活用して ~/.ccache のサイズを確認する
同時ビルド数を減らしてメモリ消費を抑えます。m -j1で再ビルドして問題が改善するか確認してください。
ccacheが有効かどうか確認して~/.ccacheの使用量をチェックします。必要に応じてクリアして再試行してください。
空き容量が不足するとビルドが失敗しやすいのでスワップを用意するか不要ファイルを削除してから再ビルドしてください。
エミュレータが起動しないやADB接続が切れる問題をMacで直す方法


エミュレータが起動しない、あるいはADB接続が切れる場合はまず起動ログを見て原因を絞り込みます。イメージの不一致や仮想化関連のエラーがよくありますのでログの内容を素直に読むことが近道です。
ログで問題点を確認したらadb側の接続をリセットします。adb kill-serverとadb start-serverでサーバーを再起動し、その後adb devicesで接続状況を確認してください。Appleシリコンでは対応イメージを使うことも試してください。
エミュレータの起動ログをターミナルで確認し adb kill-server と adb start-server を実行して接続をリセットする
エミュレータを–verboseで起動するかadb logcatでログを確認しエラー内容を把握してください。
adb kill-serverとadb start-serverを実行してADB接続をリセットします。
adb devicesでデバイスが表示されるか確認し表示されなければエミュレータを再起動して再接続してください。
MacでAndroid15のAOSPを使った実践的な応用例


MacでAOSPAndroid15を触ると開発の幅がぐっと広がります。実機やエミュレータでシステム側の挙動を確認できるのでアプリの深い部分まで追いかけられます。ここでは日常的に使える応用例を実体験に基づいて分かりやすく紹介します。
たとえばシステムアプリを組み込んで起動時の振る舞いを観察したり、小さな変更を差分ビルドで素早く反映する方法があります。ちょっとした工夫でビルド時間を短縮したりデバッグが楽になりますので気軽に試してください。
システムアプリをAOSPに組み込んで実機で動作確認する手順


システムアプリをAOSPに組み込む基本はpackages/apps配下にソースを置きAndroid.bpかAndroid.mkを整えることです。ビルドして/systemに置けば起動時に実機で挙動を確認できます。
注意点は署名とパーミッションです。プラットフォームキーで署名するかテスト用キーを使うかを決め、権限周りを先に確認しておくと混乱が少なくなります。
packages/apps 配下にアプリを配置して mmm でビルドし adb root と adb remount で /system に配置して再起動する
packages/apps配下にアプリフォルダを作りAndroid.bpを用意します。
アプリ直下でmmmを実行してビルド成果物を作ります。
adbrootとadbremountで/systemを書き込み可にしビルド結果を/system/appか/system/priv-appにコピーします。
端末を再起動してアプリの起動や権限を確認します。
ソースの小さな変更を差分ビルドしてMacで素早く確認する手順


小さなソース変更はリポジトリ全体のフルビルドを避けて差分ビルドするのが早道です。変更したモジュールのディレクトリでビルドすれば時間を大幅に節約できます。
APKならadbinstall-rで上書きしネイティブライブラリやリソースはadbpushで直接置くと効率的です。ccacheや並列ビルドを活用するとさらに短縮できます。
変更したモジュール直下で mmm を実行して差分ビルドし adb install -r もしくは adb push で差分を反映して動作確認する
変更したモジュールのディレクトリでmmmを実行して差分ビルドします。
APKの場合はadbinstall-rでアプリを上書きし起動を確認します。
ライブラリや設定ファイルはadbpushで端末に送り必要なら再起動やプロセス再起動で反映します。
よくある質問


- repo syncが途中で止まるときは
ネットワークやgitプロトコルが原因のことが多いです。慌てずに–no-clone-bundleで再実行してみてください。VPNやプロキシを切って有線にすると安定することが多いので試してみてください。SSH鍵の確認も忘れないでください。
- 必要なディスク容量はどれくらい
ソースとビルド出力で最低100GB、余裕を持つなら200GB以上あると安心です。外付けSSDを使う場合はAPFSやext4などフォーマットの互換性に注意してください。空き容量は常に余裕を残して運用すると気持ちが楽になります。
- JDKやツールのバージョンは何を使う
Android15ではJDK17が基本です。Homebrewでopenjdk@17を入れてJAVA_HOMEを設定しておくとトラブルが減ります。古いJDKだとビルドエラーになることが多いので注意してください。
- AppleSiliconでエミュレータが遅いと感じたら
M1やM2ではarm64用イメージを使いハードウェア仮想化を有効にするのが大事です。Rosettaに頼らずネイティブで動かすと体感で速くなります。メモリやCPU割り当てを増やすと起動や動作が改善することが多いです。
まとめ


ここまででMac上でAndroid15のAOSPを取得してビルドし、エミュレータで起動する流れが掴めるようになりました。準備としてはXcodeコマンドラインツールやHomebrewの導入、適切なJavaのバージョン設定、repoの初期化とsyncがポイントです。ビルドはlunchでターゲットを選びmakeやmkaで行い、emulatorやadbで動作を確認するのが基本の流れです。
実作業でよくつまずくのはストレージ不足とファイルシステム、そしてJavaのバージョン違いです。ビルドには数十GBの空き容量が必要でケースセンシティブなボリュームの方がトラブルが少ないことが多いです。エラーメッセージはそのまま検索すると有益な情報が見つかるのでログを大事にしてください。
カスタマイズやアプリの動作確認は小さな変更を加えて繰り返しビルドとadbデバッグをすると理解が早く深まります。まずは失敗を恐れずに試してみてください、続けるほど手順に慣れて楽しくなってきます。



初めは設定やビルドで戸惑うことが多いですが、一つずつ潰していけば必ず動きます。ログを読み解く習慣をつけるとトラブル解決がぐっと早くなります。
