天天看點

adb指令行中package manager和activity manage的基本用法adb shell 

adb shell 

  • pm指令:

pm全稱package manager,你能使用pm指令去模拟android行為或者查詢裝置上的應用等,當你在adb shell指令下執行pm指令,list packages [options] <FILTER> :列印所有包,選擇性的查詢包清單。

其他用法:

list features :裝置特性。硬體之類的性能。

list libraries :目前裝置支援的libs。

list users :系統上所有的users。(上面提到的USER_ID查詢方式,如:UserInfo{0:Primary:3}那麼USER_ID為0)

path <PACKAGE> :查詢package的安裝位置。

install [options] <PATH> :安裝指令。

uninstall [options] <PACKAGE> :解除安裝指令。

clear <PACKAGE> :對指定的package删除所有資料。

enable <PACKAGE_OR_COMPONENT> :使package或component可用。(如:pm enable "package/class")

disable <PACKAGE_OR_COMPONENT> :使package或component不可用。(如:pm disable "package/class")

disable-user [options] <PACKAGE_OR_COMPONENT> :參數選項:--user <USER_ID>: The user to disable.

grant <PACKAGE_PERMISSION> :授權給應用。

revoke <PACKAGE_PERMISSION> :撤銷權限。

set-install-location <LOCATION> :設定預設的安裝位置。其中0:讓系統自動選擇最佳的安裝位置。1:安裝到内部的裝置存儲空間。2:安裝到外部的裝置存儲空間。(這隻用于調試應用程式, 使用該指令可能導緻應用程式退出或者其他不适的後果)。

get-install-location :傳回目前的安裝位置。傳回結果同上參數選項。

set-permission-enforced <PERMISSION> [true|false] :使指定權限生效或者失效。

create-user <USER_NAME> :增加一個新的USER。

remove-user <USER_ID> :删除一個USER。

get-max-users :該裝置所支援的最大USER數。(某些裝置不支援該指令)

  • am指令

am全稱activity manager,你能使用am去模拟各種系統的行為,例如去啟動一個activity,強制停止程序,發送廣播程序,修改裝置螢幕屬性等等。你也可以在adb shell前執行am指令:adb shell am start -a android.intent.action.VIEW

關于一些am指令的介紹:

start [options] <INTENT> :啟動activity通過指定的intent參數。具體intent參數參照官方表。

startservice [options] <INTENT> : 啟動service通過指定的intent參數。具體intent跟start指令參數相同。

force-stop <PACKAGE> : 強制停止指定的package包應用。

kill [options] <PACKAGE> :殺死指定package包應用程序,該指令在安全模式下殺死程序,不影響使用者體驗。參數選項:--user <USER_ID> | all | current: 指定user程序殺死,如果不指定預設為所有users。(關于USER_ID下面會介紹到)

kill-all :殺死所有的背景程序。

broadcast [options] <INTENT> :發送一個intent。具體intent參數參照start指令參數。參數選項:--user <USER_ID> | all | current: 指定user程序殺死,如果不指定預設為所有users。

instrument [options] <COMPONENT> :測試指令,不多作介紹。

profile start <PROCESS> <FILE> :在<PROCESS>程序中運作profile,分析結果寫到<FILE>裡。

profile stop <PROCESS> :停止profile。

set-debug-app [options] <PACKAGE> :設定package包應用為debug模式。參數選項:-w|--persistent:等待進入調試模式,保留值。

clear-debug-app :清空之前用set-debug-app指令設定的package包應用。