安卓pm命令筆記

2021-10-19 14:59:49 字數 3764 閱讀 9615

pm工具為包管理(package manager)的簡稱

可以使用pm工具來執行應用的安裝和查詢應用寶的資訊、系統許可權、控制應用

pm工具是android開發與測試過程中必不可少的工具,shell命令格式如下:

pm

shell模式下:

pm list packages [options] [filter]

列印所有的已經安裝的應用的包名,如果設定了檔案過濾則值顯示包含過濾文字的內容

引數

描述-f

顯示每個包的檔案位置

-d使用過濾器,只顯示禁用的應用的包名

-e使用過濾器,只顯示可用的應用的包名

-s使用過濾器,只顯示系統應用的包名

-3使用過濾器,只顯示第三方應用的包名

-i檢視應用的安裝者

許可權的組成:許可權的名稱,屬於的許可權組,保護級別

例如:

protectionlevel

說明normal

表示許可權是低風險的,不會對系統,使用者或其他應用程式造成危害

dangerous

表示許可權是高風險的,系統將可能要球使用者輸入相關資訊,才會授予此許可權

signature

表示只有當應用程式所用數字簽名與宣告引用許可權的應用程式所用簽名相同時,才能將許可權授予給它

signatureorsystem

system

自定義許可權

應用自行定義的許可權

shell模式下:

pm list permission-groups

#列印所有已知的許可權組

pm list permissions [options] [group]

#列印許可權

引數可以組合使用例如:pm list permissions –g -d

引數說明

-g按組進行列出許可權

-f列印所有資訊

-s簡短的摘要

-d只有危險的許可權列表

-u只有許可權的使用者將看到列表

使用者自定義許可權

注意:目標apk的minsdkversion、targetsdkversion也必需為23及以上

子命令說明

grant

授予應用許可權許可。必需android6.0(api級別23)以上的裝置

revoke

撤銷應用許可權。必需android6.0(api級別23)以上的裝置

例如:需要注意的是所謂的授權是指你的apk裡面已有的許可權進行授權,相當於啟用的概念

adb shell pm grant android.permission.read_contacts

#授權( 取消許可權同理)

pm

子命令

引數說明

list instrymentation

無引數列出所有的instrumentation測試包

-f列出apk檔案位置

path

列印指定包名的apk路徑

例如:adb shell pm list instrumentation

adb shell pm list instrumentation target_package

adb shell pm path package_name

pm

子命令

說明list feature

列印系統的所有功能

列出所有硬體相關資訊

list libraries

列印當前裝置所支援的所有庫

例如:adb shell pm list feature

pm dump package

列印給定的包的系統狀態

列印內容

說明dump of service package

列印服務資訊

dump of service activity

列印activity資訊

dump of service meminfo

列印當前記憶體使用資訊

dump of service procstats

列印系統記憶體使用與一段時間記憶體彙總

dump of service usagestats

列印伺服器使用狀態資訊

dump of service batterystats

列印電池狀態資訊

例如:adb shell pm dump package_name

pm install [-lrtsfd] [-i package] [path]

通過指定路徑安裝apk到手機中(與adb install不同的是adb install安裝的.apk是在你的電腦上,而pm install安裝的apk是儲存在你的手機中)

引數

說明-l

鎖定應用程式

-r重新安裝應用,且保留應用資料

-t允許測試apk被安裝

-i 指定安裝包的包名

-s安裝到sd卡

-f安裝到系統內建儲存中(預設安裝位置)

-d允許降級安裝(同一應用低階換高階)

-g授予應用程式清單中列出的所有許可權(只有6.0系統可用)

首先將test.apk檔案push到手機目錄中比如/data/local/tmp

adb shell pm install /data/local/tmp/test.apk           #安裝

adb shell pm install –r /data/local/tmp/test.apk       #重新安裝

pm uninstall [options]

#解除安裝應用

引數

說明-k

解除安裝應用且保留資料與快取(如果不加-k則全部刪除)

pm clear

pm

只有系統應用才可以用,第三方應用不行

子命令說明

enable

使package或component可用

disenable

使package或component不可用(直接就找不到應用了)

disenable-user [options]

使package或component不可用(會顯示已停用)

pm

被隱藏應用在應用管理中變得不可見,桌面圖示也會消失

子命令說明

hide package_or_component

隱藏package或component

unhide package_or_conponent

恢復可見package或component

pm

需要root許可權

子命令說明

set-install-location

更改預設的安裝位置:

0:自動-讓系統決定最好的位置

1:內部儲存-安裝在內部裝置上的儲存

2:外部儲存-安裝在外部**

注:只用於除錯,不要瞎搞

get-install-localtion

返回當前的安裝位置01

2對應上面的數字說明

安卓筆記 adb命令

android除錯橋 adb 是乙個多用途命令列工具,允許開發人員與模擬器或者連線的安卓裝置進行通訊,它是由三個部分組成的客戶端 伺服器程式。adb命令位於platform tools資料夾中。查詢模擬器 裝置例項 adb devices指定模擬器 裝置例項 adb s 序列號 執行命令 如 adb...

安卓筆記20170112

一,全域性獲取context的技巧 public static context getcontext 二,使用intent傳遞物件 1.serializable方式 public class person implements serializable public void setname str...

安卓 筆記 一

設定主活動 在androidmanifest檔案中 完成註冊 p36 若沒有設定主程式 此類程式仍可正常安裝,但無法在啟動器中開啟程式,僅做第三方服務或是內部進行呼叫。活動中 可以通過findviewbyid 方法來獲得 布局檔案中的元素,例如 button button button findvi...