pm 命令 刪除隱藏app等

1、pm命令介紹與包名信息查詢

1.pm命令介紹

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

可使用pm工具來執行應用的安裝和查詢應用寶的信息、系統權限、控制應用shell

pm工具是Android開發與測試過程當中必不可少的工具,shell命令格式以下:緩存

pm <command>服務器

2.包名信息查詢

shell模式下:app

pm list packages [options] [FILTER]ide

打印全部的已經安裝的應用的包名,若是設置了文件過濾則值顯示包含過濾文字的內容工具

參數學習

描述測試

-f 顯示每一個包的文件位置
-d 使用過濾器,只顯示禁用的應用的包名
-e 使用過濾器,只顯示可用的應用的包名
-s 使用過濾器,只顯示系統應用的包名
-3 使用過濾器,只顯示第三方應用的包名
-i 查看應用的安裝者

 

2、權限信息查詢

1.權限基礎

權限的組成:權限的名稱,屬於的權限組,保護級別spa

例如:

<permission android:description="string resource"
android:icon="drable resource"
android:label="string resource"
android:name="string"
android:permissionGroup="string"
android:protectionLevel=["normal"|"dangerous"|"signature"|"signatureOrSystem"]/>

protectionLevel

說明

normal 表示權限是低風險的,不會對系統,用戶或其餘應用程序形成危害
dangerous 表示權限是高風險的,系統將可能要球用戶輸入相關信息,纔會授予此權限
signature 表示只有當應用程序所用數字簽名與聲明引用權限的應用程序所用簽名相同時,才能將權限授予給它
signatureOrSystem 須要簽名或者系統級應用(放置在/system/app目錄下)才能賦予權限
system 系統級應用(放置在/system/app目錄下)才能賦予權限
自定義權限 應用自行定義的權限

 

2.權限查詢

shell模式下:

pm list permission-groups

#打印全部已知的權限組

pm list permissions [options] [GROUP]

#打印權限

參數能夠組合使用例如:pm list permissions –g -d

參數

說明

-g 按組進行列出權限
-f 打印全部信息
-s 簡短的摘要
-d 只有危險的權限列表
-u 只有權限的用戶將看到列表 
用戶自定義權限

 

3.受權與取消

注意:目標apk的minSdkVersion、targetSdkVersion也必需爲23及以上

子命令

說明

grant <package_name> <permission> 授予應用權限許可。必需android6.0(API級別23)以上的設備
revoke <package_name> <permission> 撤銷應用權限。必需android6.0(API級別23)以上的設備

例如:

須要注意的是所謂的受權是指你的apk裏面已有的權限進行受權,至關於啓用的概念

adb shell pm grant <packageName> android.permission.READ_CONTACTS
#受權( 取消權限同理)

 

3、其餘信息查詢

1.測試包與apk路徑查詢

pm

子命令

參數

說明

list instrymentation 無參數 列出全部的instrumentation測試包
-f 列出apk文件位置
<target_package> 列出某個app的測試包
path <package> <package> 打印指定包名的apk路徑

例如:

adb shell pm list instrumentation

adb shell pm list instrumentation TARGET_PACKAGE

adb shell pm path PACKAGE_NAME

2.系統功能與支持庫查詢

pm

子命令

說明

list feature 打印系統的全部功能 
列出全部硬件相關信息
list libraries 打印當前設備所支持的全部庫

例如:

adb shell pm list feature

3.打印包的系統狀態信息

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

 

4、安裝與卸載

1.安裝

pm install [-lrtsfd] [-i PACKAGE] [PATH]

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

參數

說明

-l 鎖定應用程序
-r 從新安裝應用,且保留應用數據
-t 容許測試apk被安裝
-i <INSTALLER_PACKAGE_NAME> 指定安裝包的包名
-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       #從新安裝

2.卸載

pm uninstall [options] <PACKAGE>

#卸載應用

參數

說明

-k 卸載應用且保留數據與緩存(若是不加-k則所有刪除)

 

5、控制命令

1.清除應用數據

pm clear <PACKAGE_NAME>

 

2.禁用和啓用應用

pm

只有系統應用才能夠用,第三方應用不行

子命令

說明

enable <PACKAGE_OR_COMPONENT> 使package或component可用
disenable <PACKAGE_OR_COMPONENT> 使package或component不可用(直接就找不到應用了)
disenable-user [options] <PACKAGE_OR_COMPONENT> 使package或component不可用(會顯示已停用)

 

3.隱藏與恢復應用

pm

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

子命令

說明

hide PACKAGE_OR_COMPONENT 隱藏package或component
unhide PACKAGE_OR_CONPONENT 恢復可見package或component

 

4.控制應用的默認安裝位置

pm

須要root權限

子命令

說明

set-install-location <LOCATION> 更改默認的安裝位置: 
0:自動-讓系統決定最好的位置 
1:內部存儲-安裝在內部設備上的存儲 
2:外部存儲-安裝在外部媒體 
注:只用於調試,不要瞎搞
get-install-localtion 返回當前的安裝位置 



對應上面的數字說明
  • 本文爲博主學習筆記,未經博主容許不得轉載
  • 本文僅供交流學習,請勿用於非法途徑
  • 本文僅是我的意見,若有想法,歡迎拍磚
相關文章
相關標籤/搜索