一、安装/卸载APK
1.1 使用adb
adb install [-lrtsdg] <path_to_apk>
参数 | 功能 |
---|---|
-l | 将应用安装到保护目录 /mnt/asec |
-r | 允许覆盖安装 |
-t | 允许安装 AndroidManifest.xml 里 application 指定 android:testOnly="true" 的应用 |
-s | 将应用安装到 sdcard |
-d | 允许降级覆盖安装 |
-g | 授予所有运行时权限 |
adb uninstall [-k] <packagename>
1.2 使用pm
pm install xxx
二、查看应用
2.1 查看安装应用
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> 字符串 |
查看所有安装的应用:
pm list packages
查看系统应用:
pm list packages -s
查看包名包含字符串 taobao 的应用:
pm list packages taobao
pm list packages | grep taobao
2.2 查看前台Activity
dumpsys activity activities | grep mFocusedActivity
显示处于前台的activity
三、启动/停止应用
主要是使用 am <command> 命令
command | 用途 |
---|---|
start [options] <INTENT> | 启动 <INTENT> 指定的 Activity |
startservice [options] <INTENT> | 启动 <INTENT> 指定的 Service |
broadcast [options] <INTENT> | 发送 <INTENT> 指定的广播 |
force-stop <packagename> | 停止 <packagename> 相关的进程 |
命令用法:
am -h
option intent | 含义 |
---|---|
-a <ACTION> | 指定 action,比如 android.intent.action.VIEW |
-c <CATEGORY> | 指定 category,比如 android.intent.category.APP_CONTACTS |
-n <COMPONENT> | 指定完整 component 名,用于明确指定启动哪个 Activity,如 com.example.app/.ExampleActivity |
<INTENT> 里还能带数据,具体查看 am -h
3.1 启动activity
命令格式:
am start [options] <INTENT>
- <INTENT> 可以手动启动到某个界面,然后用
dumpsys activity activities | grep mFocusedActivity
得到
am start -n com.tencent.mm/.ui.LauncherUI
启动微信主界面
am start -n com.tencent.mm/.ui.LauncherUI --es "A" "B"
传给它 string 数据键值对 A - B
3.2 启动service
命令格式:
adb shell am startservice [options] <INTENT>
3.3 发送广播
命令格式:
am broadcast [options] <INTENT>
am broadcast -a android.intent.action.BOOT_COMPLETED -n <INTENT>
表示向 <INTENT> 发送一个 BOOT_COMPLETED 广播
3.4 强制停止应用
命令格式:
am force-stop <packagename>
$ dumpsys activity activities | grep mFocusedActivity
mFocusedActivity: ActivityRecord{dfb57ec u0 com.jianshu.haruki/com.baiji.jianshu.pay.ui.ViewTradeRecord t455}
$ am force-stop com.jianshu.haruki
杀死前台APP