web-dev-qa-db-ja.com

実行Androidエミュレーター(ヘッドレスAndroid))

GUIなしでエミュレータを実行するにはどうすればよいですか(ヘッドレスAndroid)?

私の要件は、エミュレータでヘッドレスAndroidを実行することです。 ro.config.headless 1?またはzygote

18
Android0077

差出人: 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)を参照するように変更する必要があります。

25
CommonsWare

Android Emulator 28.1.8で、ヘッドレスモード(emulator-headless): https://androidstudio.googleblog.com/2019/02/emulator-2818-canary.html

3
marius bardan

これを実現するオプションの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システムが残ります。実行中のサービス。

2
Onik