Pm命令用法


一、Pm命令

1. 命令列表

$ pm <command>
命令 功能 實現方法
list packages 列舉app包信息 PMS.getInstalledPackages
install [options<PATH> 安裝應用 PMS.installPackageAsUser
uninstall [options]<package> 卸載應用 IPackageInstaller.uninstall
enable <包名或組件名> enable PMS.setEnabledSetting
disable <包名或組件名> disable PMS.setEnabledSetting
hide <package> 隱藏應用 PMS.setApplicationHiddenSettingAsUser
unhide <package> 顯示應用 PMS.setApplicationHiddenSettingAsUser
get-install-location 獲取安裝位置 PMS.getInstallLocation
set-install-location 設置安裝位置 PMS.setInstallLocation
path <package> 查看App路徑 PMS.getPackageInfo
clear <package> 清空App數據 AMS.clearApplicationUserData
get-max-users 最大用戶數 UserManager.getMaxSupportedUsers
force-dex-opt <package> dex優化 PMS.forceDexOpt
dump <package> dump信息 AM.dumpPackageStateStatic
trim-caches <目標size> 緊縮cache目標大小 PMS.freeStorageAndNotify

pm命令實的實現方式在Pm.java,最后大多數都是調用PackageManagerService相應的方法來完成的。disbale之后,在桌面和應用程序列表里邊都看到不該app。

 

2. pm list packages命令
查看所有的package:

$ list packages [options] <FILTER>

[options]參數:

-f: 顯示包名所關聯的文件;
-d: 只顯示disabled包名;
-e: 只顯示enabled包名;
-s: 只顯示系統包名;
-3: 只顯示第3方應用的包名;
-i: 包名所相應的installer;
-u: 包含uninstalled包名.

規律: disabled + enabled = 總應用個數; 系統 + 第三方 = 總應用個數。

比如:查看第3方應用:

$ pm list packages -3

又比如,查看已經被禁用的包名。(國內的廠商一般把google的服務禁用了)

$ pm list packages -d

<FILTER>參數:

當FILTER為不為空時,則只會輸出包名帶有FILTER字段的應用;當FILTER為空時,則默認顯示所有滿足條件的應用。

查看包名帶google字段的包名:

$ pm list packages google

 

3. pm install命令
安裝應用:

$ pm install [options] <PATH>

其中[options]參數:

-r: 覆蓋安裝已存在Apk,並保持原有數據;
-d: 運行安裝低版本Apk;
-t: 運行安裝測試Apk
-i : 指定Apk的安裝器;
-s: 安裝apk到共享快存儲,比如sdcard;
-f: 安裝apk到內部系統內存;
-l: 安裝過程,持有轉發鎖
-g: 准許Apk manifest中的所有權限;

PATH參數:

該參數是必須的,是指需要安裝的apk所在的路徑。


4. 其他參數
pm list users //查看當前手機用戶

pm list libraries //查看當前設備所支持的庫

pm list features //查看系統所有的features

pm list instrumentation //所有測試包的信息

pm list permission-groups //查看所有的權限組

pm list permissions [options] <group> 查看權限

-g: 以組形式組織;
-f: 打印所有信息;
-s: 簡要信息;
-d: 只列舉危險權限;
-u: 只列舉用戶可見的權限。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM