1

このスクリプトの何が問題になっていますか?

# このプログラムで使用される monkeyrunner モジュールをインポートします
com.android.monkeyrunner から MonkeyRunner、MonkeyDevice をインポート
# 現在のデバイスに接続し、MonkeyDevice オブジェクトを返します
デバイス = MonkeyRunner.waitForConnection()
#リブート
device.reboot('なし')

bootloadType も変更してみました。device.reboot('bootloader') と device.reboot('recovery') で試した最後の行を挿入しましたが、どちらも機能しませんでした。

4

1 に答える 1

0

ここの Android 開発者による投稿には、次のように書かれています。

「再起動」は事実上ハードウェアの再起動であり、「停止」/「開始」はソフトウェアの再起動です。

エミュレーターの場合、理想的には次のものを使用できるはずです。

device.shell('stop');
device.shell('start');

...しかし、エミュレータの開始/停止に対してここで提起されたバグがあります >= 2.2.

個人的には、厄介な小さなシェル スクリプトを使用してすべてのエミュレータ インスタンスを強制終了し、エミュレータを再度起動します。

#!/bin/bash

pgrep -x "emulator" > /dev/null
until [  $? -eq 1 ]; do
  kill `pgrep -x "emulator" | cut -c 1-6`
  sleep 2
  pgrep -x "emulator"
done

# start emulator normally...
exit 0

このスクリプトは、特定のエミュレーターのシリアル番号を渡して強制終了することで改良できます (「adb get-serialno」を使用してシリアル番号を取得できます)。

エミュレーターの再起動を自動化している他の人の考えや方法を知りたいです。

于 2011-03-07T11:37:02.633 に答える