ADB常用命令

一、 adb安装及配置

1 下载安装

创建目录,点击安装exe文件或将免安装版放到创建目录下
下载及简介地址: Android 调试桥 (ADB)  |  Android 开源项目  |  Android Open Source Project (google.cn)

2 配置环境

在系统环境配置中新建android_adb_server_port 5037默认端口(有些调试需要默认端口才能使用,如chrome调试手机)
  添加adb目录到环境目录path中,并保存

3 常见问题

3.1当都口号被占或查询端口号

查看端口是否被占用:运行:netstat -ano | findstr “5037” 或者(查看多有端口netstat -ano)
  C:\Users\chen>netstat -aon|findstr 5037
  TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 3676

通过PID查看所有进程
  C:\Users\chen>tasklist /fi “PID eq 3676”
  映像名称 PID 会话名 会话# 内存使用
  svchost.exe 3676 Services 0 13,800 K

杀死占用端口的进程
  C:\Users\chen>taskkill /pid 3676 /f
  成功: 已终止 PID 为 3676 的进程。

3.2 chrome无法调试

输入chrome://inspect/#devices无法显示
  升级谷歌浏览器(方法1)
  手机的开发者模式关掉再打开(方法2)

3.3 adb输出日志报错 read: unexpected EOF!

原因:logcat 进程异常退出,是因为 log buffer size 设置过小导致的,默认size 是 256KB,如果长时间运行,并产生大量log 日志,肯定超过 默认256KB。解决方法:
1).在手机的系统设置中,将日志记录器缓冲区大小调整到更大一些即可。执行:adb logcat -G 2m设置缓冲区大小后,再执行adb logcat
2).设置路径:系统设置 > 开发者选项 > 调试 > 日志记录器缓冲区大小

二、adb常用命令

adb [-d|-e|-s ]
连接指定设备
参数:
-d 指定当前唯一通过USB 连接的Android 设备为命令目标
-e 指定当前唯一运行的模拟器为命令目标
-s 指定相应serialNumber 号的设备/模拟器为命令目标
command 为所需对设备执行的命令

1 连接设备

adb devices #查看连接设备
adb -s cf27456f shell # 指定连接设备使用命令
adb get-serialno #获取序列号
adb connect ip # 连接设备
adb disconnect # 断开连接

adb version 查看adb 版本信息
adb devices 查看adb 连接设备
示例:
$adb devices
List of devices attached
1226959f device
3426422f offline
注意:offline 表示设备未连接成功或无响应,device 设备已连接
adb get-serialno 获取设备序列号

2 adb shell unix常用命令

cat 显示文件内容
cd 切换目录
chmod 改变文件的存取模式/访问权限
cf 查看磁盘空间使用情况
grep 过滤输出
kill 杀死指定PID的进程
ls 列举目录内容
mount 挂载目录的查看和管理
mv 移动或重命名文件
ps 查看正在运行的进程
rm 删除文件
top 查看进程的资源占用情况

3 安装和卸载

adb install test.apk # 安装应用
adb install -r demo.apk #安装apk 到sd 卡:
adb uninstall cn.com.test.mobile #卸载应用,需要指定包
adb uninstall -k cn.com.test.mobile #卸载app 但保留数据和缓存文件

4 启动停止服务

adb start-server 启动adb 服务,基本不会用到,因为只要设备连接正确,会自动启动adb server
adb kill-server 停止adb server
adb -P start-server 指定adb server 的网络端口port (默认为5037)启动服务

5应用交互

5.1 am (activity manager)

这个命令可以启动Activity、打开或关闭进程、发送广播等操作。
adb shell am
command 命令详解
start [options] 启动 指定的 Activity
startservice [options] 启动 指定的 Service
broadcast [options] 发送 指定的广播
force-stop 停止 相关的进程

参数很灵活,和写 Android 程序时代码里的 Intent 相对应,用于决定 intent 对象的选项[options]如下:
-a 指定 action,如android.intent.action.VIEW
-c 指定 category,如android.intent.category.APP_CONTACTS
-n 指定完整 component 名,用于明确指定启动哪个 Activity,如com.example.app/.ExampleActivity

5.1.1启动 Activity

adb shell am start [options]
示例:
#指定完整 component 名,用于明确指定启动哪个Activity
$adb shell am start -n
如: #表示调起微信主界面
$adb shell am start -n com.tencent.mm/.ui.LauncherUI

5.1.2启动 Service

adb shell am startservice [options]
示例:
表示调起微信的某 Service。
$adb shell am startservice -n com.tencent.mm/.plugin.accountsync.model.AccountAuthenticatorService

5.1.3 发送广播

adb shell am broadcast [options] 可以向所有组件广播,也可以只向指定组件广播。
示例:
#向所有组件广播 BOOT_COMPLETED (开机广播)
$adb shell am broadcast -a android.intent.action.BOOT_COMPLETED
#如:只向 org.mazhuang.boottimemeasure/.BootCompletedReceiver 广播 BOOT_COMPLETED:
$adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -n org.mazhuang.boottimemeasure/.BootCompletedReceiver

action 触发时机
android.net. conn.CCNNECTVITY_CHANGE 网络连接发生变化
android.intent.actian.SCREEN_ON 屏幕点亮
android.intent.actian.SCREEN_CFF 屏幕熄灭
android.intent.actian.BATTERY_Low 电量低,会弹出电量低提示框
android.int ent.actian.BATTERY_OKAY 电量恢复了
android.intent.actian.BOOT_COMIPLETED 设备启动完毕
android. intent.actian.DEVCE_STORAGE_LOw 存储空间过低
android. intent.actian.DEMCE_STORAGE_OK 存储空间恢复
android. intent.actian.PACKAGE_ADDED 安装了新的应用
android.net.wifi.STATE_CHANGE WFi状态变为启用关闭正在启动
android.net.wifi.WIH_STATE_CHANGED WFi连接状态发生变化正在关i闭/未知
android.intent.action.BATTERY_CHANGED 电池电量发生变化
android.int ent.actian.INPUT_METHOD_CHANGED 系统输入法发生变化
android.intent.actian.ACTON_POWER_CONNECTED 外部电源连接
android. int ent.action.ACTON_POWER_DISCONNE CTED 外部电源断开连接
android.intent.actian.DREAMING_STARTED 系统开始休眠
android. intent.actian.DREAMING_STOPPED 系统停止休眠
android. intent.actian.WALLPAPER_CHANGED 壁纸发生变化
android.intent.actian.HEADSET_PLUG 插入耳机
android.intent.actian.MEDIA_UNMOUNTED 卸载外部介质
android.intent.actian.MEDIA_MOUNTED 挂载外部介质
android.os.action.POWER_SAVE_MODE_CHANGED 省电模式开启

5.1.4停止

adb shell am force-stop 强制停止应用

5.2 pm (package manager)

adb shell pm 包管理

adb shell pm clear cn.com.test.mobile #清除应用数据与缓存adb shell pm clear < packagename>

5.2.1 list packages [options]

打印所有软件包,可选择只打印软件包名称中包含的软件包。
不使用参数:adb shell pm list packages, 打印设备/模拟器上的所有软件包
adb shell pm list packages -f, 输出包和包相关联的文件
adb shell pm list packages -d, 只输出禁用的包。由于本机禁用没有,输出为空。
adb shell pm list packages -e, 只输出启用的包。
adb shell pm list packages -s, 只输出系统的包。
adb shell pm list packages -3, 只输出第三方的包。
adb shell pm list packages -i, 只输出包和安装信息(安装来源)。
adb shell pm list packages -u, 只输出包和未安装包信息(安装来源)。
adb shell pm list packages --user <USER_ID>, 根据用户id查询用户的空间的所有包,USER_ID代表当前连接设备的顺序,从零开始:
adb shell pm list packages -e “ximalaya”, 只输出启用的包。

<
  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值