M1 MacのAndroidエミュレータ: Storing crashdataエラーの解決法
問題の説明
Apple Silicon搭載のM1/M2 MacでAndroidエミュレータを操作する際、以下のエラーメッセージが常に出力される問題が発生します:
INFO | Storing crashdata in: /tmp/android-gregoire/emu-crash-34.1.18.db, detection is enabled for process: 4832
この現象が発生する主な特徴は次の通りです:
emulator
コマンド実行時に必ず最初の行で出力されるemulator -list-avds
やemulator -help
など基本的な操作でも発生- 既存のAVDとは無関係で、AVDをすべて削除しても発生する
- エラーフォルダ(例:
/tmp/android-gregoire/
)に有効なクラッシュデータは存在しない - React Native開発時に深刻な影響が発生:sh
# エラー例(React Native内部処理) react-native run-android # エミュレータ出力をAVD名と誤認識しエラーが発生
影響環境:
- macOS Sonoma 14.3.1以降(M1/M2 Mac)
- Android Emulator バージョン 34.1.18
- Android Studio Iguana 2023.2.1
注意点
このエラーはReact Native開発フローを破壊します。react-native run-android
がエミュレータ出力をAVD名と誤認識し、存在しないデバイスを起動しようとします。
効果的な解決方法
方法1: 安定版エミュレータへのダウングレード(推奨)
最新のAndroid Emulator v34.1.18に問題があるため、安定版のv33.xに戻す方法です。
# 1. 古いバージョンのエミュレータをダウンロード
https://developer.android.com/studio/emulator_archive
# 2. ダウンロードしたエミュレータを解凍
unzip emulator-darwin_aarch64-12345678.zip
# 3. 既存エミュレータを置換 (パスは環境に合わせ変更)
sudo cp -Rf ~/Downloads/emulator/* ~/Library/Android/sdk/emulator/
重要手順
置換後に必ず以下の操作を実行:
- ターミナルで
emulator -list-avds
を実行 - macOSのアクセス許可ダイアログが出たら許可
- 再度同じコマンドを実行してエラーが消えているか確認
ダウングレード後の動作確認:
emulator --version
# Android emulator version 33.1.24.0 (正常出力の例)
方法2: Android Emulatorの再インストール
emulator
コンポーネントに問題がある場合のクリーンインストール方法:
# Android Studioで再インストール
Tools → SDK Manager → SDK Tools →
1. "Android Emulator"のチェックを外し適用
2. 再起動後、再びチェックしてインストール
注意
再インストール後はAndroid Studio/ターミナルを完全に再起動し、キャッシュをクリアしてください:
# キャッシュクリア例
rm -rf ~/.android/cache
方法3: 環境変数の最適化(追加対策)
カスタム環境変数設定がある場合の調整方法:
# .zshrc または .bash_profile に追加
export ANDROID_HOME="$HOME/Library/Android/sdk"
export ANDROID_EMULATOR_HOME="$HOME/.android"
export ANDROID_AVD_HOME="$HOME/.android/avd"
# パス設定後反映
source ~/.zshrc
# 設定確認
echo $ANDROID_AVD_HOME
補足情報
トラブルシューティング
権限問題が発生した場合:
bash# エミュレータディレクトリの再帰的権限変更 sudo chmod -R 755 $ANDROID_HOME/emulator # キャッシュデータ削除 rm -rf /tmp/android-*
ダウングレード後もエラーが出る場合:
- Android Studioで
File → Invalide Caches
を実行 SDK Platforms
タブで最新のシステムイメージを再インストール- macOSを再起動
- Android Studioで
根本原因と回避策
このエラーはAndroid Emulator v34.1.18のクラッシュレポートメカニズムに関する不具合です。出力自体は致命的な問題ではありませんが、ツールチェーンのパース処理に悪影響を与えます。最終的にはGoogle公式の修正が期待されますが、現時点では安定版バージョンへの切り替えが最も信頼できる解決策です。
まとめ
手法 | 作業時間 | 効果 | リスク |
---|---|---|---|
v33へのダウングレード | 10分 | ★★★★ | 過去バージョンの仕様制限 |
再インストール | 5分 | ★★ | 根本解決にならない場合あり |
環境変数設定 | 3分 | ★ | 他問題を予防 |
Apple Silicon環境でのAndroidエミュレータ利用では、定期的なSDKアップデート後に発生する非互換問題に注意が必要です。本記事の手法は2024年10月時点で有効な解決策であり、公式アップデートで修正された際はAndroid StudioのSDK Managerから最新版を再インストールしてください。