1.pmコマンド
略してパッケージ管理ツール(パッケージマネージャ)のための午後
インストールの午後と情報アプリケーション、システム権限、制御アプリケーションのクエリアプリケーションの宝物を実行するためのツールを使用することができます
午後Androidの開発およびテストツールは、次のようにシェルコマンドの形式は、プロセスツールに不可欠です。
午後<コマンド>
2.パッケージ名情報のクエリ
シェルモード:
午後リストパッケージ[オプション] [FILTER]
あなたは、フィルタのテキスト表示を含むコンテンツフィルタリングファイルの値を設定した場合、アプリケーションのパッケージ名がすべてインストールされている印刷
パラメータ |
説明 |
-f | 各パッケージファイルの表示位置 |
-d | 使用禁止アプリケーションパッケージの名前のみを表示するようにフィルタ |
-e | 利用可能なアプリケーションパッケージの名前のみを表示するようにフィルタを使用します |
-s | 唯一のアプリケーションのパッケージ名システムを表示するには、フィルタを使用します |
-3 | のみを使用し、サードパーティのアプリケーションパッケージ名を表示するようにフィルタ |
-私 | ビューインストーラアプリケーション |
第二に、権限情報の照会
1.基本的な権利
権利からなる:権利の名前、グループに属している権限、保護のレベルを
例えば:
<権限は、Android:説明= "文字列リソース" アンドロイド:アイコン= "drableリソース" のandroid:ラベル= "文字列リソース" アンドロイド:名= "文字列" のandroid:permissionGroup = "文字列" のandroid:のProtectionLevel = [ "ノーマル" |」危険な"|"署名"|" signatureOrSystem "] />
ProtectionLevel |
説明 |
正常 | 手段低リスクもする権限、システム、ユーザーや他のアプリケーションへの害は発生しません |
危険な | 手段の許可がハイリスクであると、システムはおそらく、この権限を付与し、ボールのユーザの入力関連情報となります |
署名 | 同時に、アプリケーションは、あなたがそれに権限を付与するために、署名相とリファレンスアプリケーションを宣言するために、デジタル署名と権限を使用している場合にのみ、それを言いました |
signatureOrSystem | 許可を与えるために署名または(下/ appディレクトリ/システムに配置された)システムレベルのアプリケーションする必要が |
システム | (/システム/アプリケーションディレクトリに配置)システムレベルのアプリケーション許可を与えます |
カスタム権限 | アプリケーションの権限は、自分自身を定義します |
2.権利の問い合わせ
シェルモード:
午後リスト許可グループ
#すべての既知の許可グループを印刷
午後リストの権限[オプション] [GROUP]
#印刷の権限
パラメータは、例えば、組み合わせて使用することができる:午後リスト権限-g -d
パラメータ |
説明 |
-g | 権限はグループで列挙されました |
-f | すべての情報を印刷 |
-s | 短い要約 |
-d | 唯一の危険なアクセス許可の一覧 |
-u | 唯一のユーザー権限が一覧表示されます 、ユーザー定義の権利を |
3.承認とキャンセル
注:minSdkVersionがのAPKターゲット、targetSdkVersionは、上記の23でなければならず、
サブコマンド |
説明 |
助成金<パッケージ名> <権限> | ライセンスは、アプリケーションを付与されました。デバイスよりも必要なandroid6.0(APIレベル23) |
REVOKE <パッケージ名> <権限> | 取り消し許可申請。デバイスよりも必要なandroid6.0(APIレベル23) |
例えば:
有効な概念と同等のいわゆる承認があなたの認可内部の既存のアクセス許可のAPKを示すことに注意してください、
PMグラントシェルADB <パッケージ> android.permission.READ_CONTACTS #認証(共感をキャンセルする権限)
第三に、他の情報照会
1.テストパッケージとAPKパスクエリ
午後
サブコマンド |
パラメータ |
説明 |
リストinstrymentation | 引数はありません | すべての計測検査キットの一覧を表示 |
-f | APKファイルの場所が記載されています | |
<target_package> | 検査キットアプリのリスト | |
パス<パッケージ> | <パッケージ> | パッケージ名のAPKのパスを指定します印刷 |
例えば:
adbのシェル午後一覧計装
adbのシェル午後一覧計装TARGET_PACKAGE
adbのシェル午後パスPACKAGE_NAME
2.システムの機能とサポートデータベースクエリ
午後
サブコマンド |
説明 |
リスト機能 | 印刷システムのすべての機能を すべてのハードウェア関連の情報一覧 |
リストライブラリ | 現在のライブラリでサポートされているすべてのデバイスを印刷 |
例えば:
adbのシェル午後リスト機能
3.プリントシステムのステータス情報パケット
午後ダンプPACKAGE
与えられたパケットのシステムの状態を印刷
印刷コンテンツ |
説明 |
サービスパッケージOF DUMP | プリントサービス情報 |
サービス活動OF DUMP | 印刷アクティビティ情報 |
サービスは、meminfo OF DUMP | 印刷メモリの使用状況に関する情報 |
サービスのprocstats OF DUMP | 印刷システムのメモリ使用量といくつかの時間の要約のためのメモリ |
サービスusagestats OF DUMP | プリントサーバーのステータス情報 |
サービスのbatterystats OF DUMP | 印刷バッテリステータス情報 |
例えば:
adbのシェル午後ダンプPACKAGE_NAME
第四に、インストールとアンインストール
インストール1.
午後には、インストール[-lrtsfd] [-i PACKAGE] [PATH]
お使いの携帯電話へのパスを指定してAPKのインストール(ADBとの違いをインストールADBの.apkがコンピュータにインストールされているインストールし、APK PMがインストールインストールされ、お使いの携帯電話に保存されています)
パラメータ |
説明 |
-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则全部删除) |
五、控制命令
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 | 返回当前的安装位置 0 1 2 对应上面的数字说明 |