GUIなしでエミュレータを実行するにはどうすればよいですか(ヘッドレスAndroid)?
私の要件は、エミュレータでヘッドレスAndroidを実行することです。 ro.config.headless 1
?またはzygote?
差出人: http://paulemtz.blogspot.com/2013/05/Android-testing-in-headless-emulator.html
次に、ヘッドレスエミュレータを実行します。
emulator -avd test -no-audio -no-window
'-no-skin'オプションは、ホームボタンやその他のハードウェアキーボードボタンなどのエミュレータボタンを削除します。
「-no-audio」オプションは、オーディオサポートを無効にします。
最後に、「-no-window」オプションは、エミュレータのグラフィカルウィンドウ表示を無効にします。
ご了承ください -avd test
は、特定のエミュレーターイメージ(AVD)を参照するように変更する必要があります。
Android Emulator 28.1.8で、ヘッドレスモード(emulator-headless
): https://androidstudio.googleblog.com/2019/02/emulator-2818-canary.html
これを実現するオプションの1つは、エミュレーターの実行中にzygote
サービスを停止することです。 zygote
プロセス(別名app_process
)を停止すると、システムの起動時にzygote
から分岐されたすべてのシステムサービスがシャットダウンします。少数のネイティブシステムサービスのみが実行されます。エミュレータのディスプレイには、スタートアップのロゴ(またはアニメーション)が表示されます。
zygote
を停止する手順は次のとおりです。
adb Shell
su
(ほとんどのエミュレータイメージに/system/xbin/su
)がありますstop zygote
その後、service list
を使用して実行されているサービスの量を減らすことができます。 Androidの重要なランタイムサービスは停止されます。
activity: [] // ActivityManager
package: [] // PackageManager
display: [] // DisplayManager
...
zygote
を開始するには:
start zygote
注:@CommonsWareのソリューションを使用すると、zygote
とほとんどのAndroidシステムが残ります。実行中のサービス。