我正在從亞行外殼的應用程序是這樣的:終止進程後,在亞行一段時間後外殼
adb shell am start -n mypackage/.MainActivity
我需要10秒鐘後自動終止應用程序並啓動其他應用程序。 我想要做這樣的事情:
adb shell timeout -t 10 am start -n mypackage/.MainActivity
但不幸的是,這是行不通的。
輸出:
/系統/ bin/sh的:超時沒有發現
有什麼辦法,使這項工作?
我正在從亞行外殼的應用程序是這樣的:終止進程後,在亞行一段時間後外殼
adb shell am start -n mypackage/.MainActivity
我需要10秒鐘後自動終止應用程序並啓動其他應用程序。 我想要做這樣的事情:
adb shell timeout -t 10 am start -n mypackage/.MainActivity
但不幸的是,這是行不通的。
輸出:
/系統/ bin/sh的:超時沒有發現
有什麼辦法,使這項工作?
使用以下
start adb shell am start -n mypackage1/.MainActivity
timout /t 10
kill mypackage1
start adb shell am start -n mypackage2/.MainActivity
您可以使用設備本身上運行sleep
命令:
adb shell "am start -W -n mypackage1/.MainActivity; sleep 10; am force-stop mypackage1"
adb shell "am start -W -n mypackage2/.MainActivity"
看來,應用程序,你正在試圖起動/停止不設計正確。在這種情況下,請執行:
adb shell "(sleep 10; am force-stop mypackage1) & am start -n mypackage1/.MainActivity"
adb shell "am start -n mypackage2/.MainActivity"
你能告訴我什麼-W是爲了什麼?該方案無限期地等待。 「睡眠10」永遠不會執行。 –
我從Windows 10運行它。嘗試'超時10'而不是'睡眠10'。但它仍然不起作用。除非第一個完成,否則'timeout 10'不會執行。 –
你開始意圖後是否嘗試過超時?即流程應該啓動包,暫停一段時間,殺死啓動的包,啓動另一個包。 –
是的,我試過你的腳本,只是改變了'睡眠10'。問題是命令窗口在執行'timeout 10'之前等待第一個進程結束。所以它永遠等待。 –