应用管理

  • 1. 查看应用列表
  • 1.1 所有应用
  • 1.2 系统应用
  • 1.3 第三方应用
  • 1.4 包名包含某字符串的应用
  • 2. 安装 APK
  • 3. 卸载应用
  • 4. 清除应用数据与缓存
  • 5. 查看前台 Activity
  • 6. 查看正在运行的 Services
  • 7. 查看应用详细信息
  • 8. 查看应用安装路径


1. 查看应用列表

查看应用列表的基本命令格式:

adb shell pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_ID] [FILTER]

参数列表如下:

参数

显示列表


所有应用

-f

显示应用关联的 apk 文件

-d

只显示 disabled 的应用

-e

只显示 enabled 的应用

-s

只显示系统应用

-3

只显示第三方应用

-i

显示应用的 installer

-u

包含已卸载应用

<FILTER>

包名包含 <FILTER> 字符串

1.1 所有应用

adb shell pm list packages

android管理规范 android应用管理_包名

1.2 系统应用

adb shell pm list packages -s

1.3 第三方应用

adb shell pm list packages -3

1.4 包名包含某字符串的应用

比如要查看包名包含字符串 tencent 的应用列表,命令:

adb shell pm list packages tencent

当然也可以使用grep来过滤:

adb shell pm list packages | grep tencent

android管理规范 android应用管理_字符串_02

2. 安装 APK

安装命令:

adb install [-lrtsdg] <path_to_apk>

参数:

参数

含义

-l

将应用安装到保护目录 /mnt/asec

-r

允许覆盖安装

-t

允许安装 AndroidManifest.xml 里 application 指定 android:testOnly=“true” 的应用

-s

将应用安装到 sdcard

-d

允许降级覆盖安装

-g

授予所有运行时权限

这里以抖音 app举例,手机可能显示提示信息,安装成功后:

android管理规范 android应用管理_字符串_03

3. 卸载应用

adb uninstall [-k] <packagename>

<packagename> 表示应用的包名,-k 参数可选,表示卸载应用但保留数据和缓存目录。

如何查看包名呢?

adb shell am monitor

输入命令后,然后打开app,就会显示包名了:

android管理规范 android应用管理_字符串_04


卸载APP,出现了Success 就卸载成功了:

android管理规范 android应用管理_字符串_05

4. 清除应用数据与缓存

adb shell pm clear <packagename>

<packagename>表示应用名包,这条命令的效果相当于在设置里的应用信息界面点击了「清除缓存」「清除数据」

5. 查看前台 Activity

adb shell "dumpsys activity activities | grep csdn"

android管理规范 android应用管理_包名_06

6. 查看正在运行的 Services

adb shell dumpsys activity services [<packagename>]

<packagename> 参数不是必须的,指定 <packagename> 表示查看与某个包名相关的 Services,不指定表示查看所有 Services

<packagename> 不一定要给出完整的包名,比如运行 adb shell dumpsys activity services org.mazhuang,那么包名 org.mazhuang.demo1org.mazhuang.demo2org.mazhuang123 等相关的 Services 都会列出来。

7. 查看应用详细信息

adb shell dumpsys package <packagename>

8. 查看应用安装路径

adb shell pm path <PACKAGE>

android管理规范 android应用管理_字符串_07