Appiumを使ったテスト自動化で、Android Studioのemulatorを使っています。
ただ、自動テスト実行時に「System UI isn't responding」というエラーメッセージが表示され、テスト失敗するケースが多かったため、その時の対応を備忘録として記録しました。
注意事項
- この情報は2022年9月19日時点のものです。
- 以下の内容には誤りが含まれる可能性があります。
- 間違っている部分などがあれば、コメントお願いします。
実施環境
項目 | バージョン |
---|---|
OS | Windows 10 pro |
Android Studio | 2021.1 |
Appium Desktop | 1.22.2 |
やったこと
アクセラレーション設定にて、エミュレートパフォーマンスをHardware - GLE2.0に変更する
設定方法は3つあります。
1.AVDの編集画面から変更する
① 対象AVD列にある鉛筆アイコンをクリックします。
② そこにEmulated Performanceにて、AutomaticからHardware - GLE 2.0を選択します。
しかし私の環境では、以下の画面のように設定できませんでした。(グレーアウトになっていました)
2.コマンドで実行
以下のadbコマンドを入力すると変更することが出来ます
emulator -avd avd_name -gpu mode [{-option [host]} ... ]
3.config.iniから変更
①Device Manager画面を開いて、対象emulator列にある▼ボタンを押す
②Show on Diskを選択
③Config.iniを開く(メモ帳などで)
④"hw.gpu.mode" = autoをhostに変更し、保存する(ピンク枠部分)
この設定を行うと、「System UI isn't responding」の発生確率がぐっと下がりました。
他に試したこと
emulator内のデータを消去
もともとemulator側のデータがおかしくなっている可能性があるため、一旦データを削除しました。
対象AVDのメニューアイコン(▼ボタン)をクリックして、data wipeを実行するとemulatorのデータを削除できます。
emulatorを再起動
ずっと起動したままでは、同現象が発生しやすくなるため、再起動しました。
対象AVDのメニューアイコン(▼ボタン)をクリックして、cold boot nowを選択すると再起動します。
AVD起動のたびに再起動したい場合は、config.iniから
Emulated Performance: Boot option (Advanced)をONにしてください
emulatorのメモリサイズを増やす
config.iniから設定する
ヒープサイズやRAM等の値を変更できます。
メモリサイズにも可能な範囲で増加することで、発生確率を抑えられた印象です。
さいごに
今回はSystem UI isn't respondingの対応一覧を記載しました。
また、Android Studioではまることが出てきたら、記事を書きたいと思います。
参考資料
- 【flutter・android開発】system UI isn’t respondingが出る場合の解決方法
- Android Studio 仮想デバイスを作成して管理する
- Android Emulatorのハードウェアアクセラレーションを設定する
- The system ui isn't responding in android emulator (Flutter)
- [Solved] The system UI isn’t responding in android emulator (Flutter)
-
コンピュータグラフィックカード/ソフトウェアでグラフィックをエミュレートをグラフィックカードに応じてemulatorが選択する ↩