簡體   English   中英

如何使用ADB在Android設備上啟動進程

[英]How to start a process on Android device using adb

我正在使用adb命令來管理Android手機上的進程。

我可以通過命令殺死特定進程

adb kill "PID"  (PID is the process ID)

並且該過程被殺死。

但是當我使用命令啟動它時

adb start "PID"

它不會啟動該過程。

我希望啟動的過程位於/ system / bin文件夾中,但我不知道該過程的程序包或活動名稱是什么。 我所知道的只是過程的“ PID”和“用戶”。

是否有任何命令可以在Android設備上啟動特定進程?

殺死與PID對應的進程后,如何重新啟動它?

您可以改用以下方式嘗試從adb啟動應用:

adb shell
am start -n com.package.name/com.package.name.ActivityName

或者您可以直接使用:

adb shell am start -n com.package.name/com.package.name.ActivityName

本機應用程序沒有活動。 它們就是-本機二進制文件。

如果您只知道進程的數字ID,則ps <PID>命令將在NAME列中顯示進程二進制文件的名稱。 像這樣:

# ps 407
USER     PID   PPID  VSIZE  RSS     WCHAN    PC         NAME
root      407   1     4540   272   ffffffff 000160a4 S /sbin/adbd

如果PPID值為1表示它已由系統init啟動,則該應用很有可能是“服務”應用。 要控制它,您需要找到服務的名稱,然后使用stop <service>start <service>

要查找服務的名稱,請運行grep ^service /init*rc | grep <binary name> grep ^service /init*rc | grep <binary name>服務的名稱將在第二列(即“ adbd”)中:

# grep ^service /init*rc | grep /sbin/adbd
/init.rc:service adbd /sbin/adbd

因此,要正確控制此應用,您應該使用stop adbdstart adbd

您說您知道二進制文件在/ system / bin中,所以我假設您也知道該二進制文件的名稱。 如果您不這樣做,該命令將幫助您找出:

ps PID

要啟動二進制文件(例如,正常運行時間),只需在shell中鍵入其名稱:

adb shell
uptime

或一個命令

adb shell uptime

但是,如果您的二進制文件不在$ PATH中列出的目錄之一中,則必須輸入它的完整路徑

adb shell /system/bin/uptime

您可以使用以下方法檢查$ PATH:

adb shell echo $PATH

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM