ADB命令笔记

1. 应用相关

1.1 APK安装

在这里插入图片描述

1.2 查看所有包名

adb shell pm list packages
adb shell pm list packages -f (包括路径)

1.3获取包名对应的APK路径

adb shell pm path packageName

1.4 dumpsys

强大的dump工具, 可以输出很多系统信息. 例如window, activity, task/back stack信息, wifi信息等。
常用dumpsys:

指令说明备注细分参数
activity输出app组件相关信息还可以用细分参数获得单项内容activites, service, providers, intents, broadcasts, processes
meminfo输出每个App的内存使用和系统内存状态可以指定包名, 例如adb shell dumpsys meminfo com.anly.githubapp/
window输出当前窗口相关信息/policy, animator, tokens, windows
alarm输出当前系统的alarm信息//
cpuinfo输出当前的CPU使用情况//
diskstats输出当前的磁盘使用状态//
batterystats电池使用信息//
packagepackage相关信息, 相当于pm功能的集合输出诸如libs, features, packages等信息/

例子:

adb shell dumpsys activity

查看当前resume的是哪一个activity:
adb shell dumpsys activity | grep mFocusedActivity

1.4 查看当前上焦点应用的信息

adb shell dumpsys window | findstr mCurrentFocus

2 内存

2.1 抓取hprof文件

adb shell am dumpheap [PROCESS] [FILE-NAME]

eg: adb shell am dumpheap com.starcor.hunan /data/anr/12.hprof

2.2查看设备分配给应用的最大内存

adb shell getprop dalvik.vm.heapsize
应用正常获取到的最大堆内存大小

adb shell getprop dalvik.vm.heapstartsize

adb shell getprop dalvik.vm.heapgrowthlimit
应用申请了largeheap获取到的最大堆内存大小

2.3查看Java进程内存排行

adb shell procrank

dumpsys meminfo可以查看native进程和java进程,而procrank只能查看java进程

2.4查看RAM使用

adb shell cat /proc/meminfo

3模拟事件

3.1 按键

adb shell input keyevent <keycode>

3.2 输入

adb shell input text 字符串

**注意:**不支持中文

3.3 鼠标点击

adb shell input tap X Y

鼠标滑动

adb shell input swipe X1 Y1 X2 Y2

4 设备

4.1 截屏

adb shell screencap -p /sdcard/screencap.png

4.2 设置手机IMEI/IMSI/手机号/SIM卡序列号

adb shell setprop persist.nox.modem.imei 352462010682470
adb shell setprop persist.nox.modem.imsi 460000000000000
adb shell setprop persist.nox.modem.phonumber 15605569000
adb shell setprop persist.nox.modem.serial 89860000000000000000

4.3 查看设备信息

adb shell getprop ro.product.model
    
模糊查找:
adb shell getprop | grep product

也可以直接查找 /system/build.prop 文件

4.4 修改mac地址

setprop persist.nox.wifimac xxx                       修改mac地址
setprop persist.nox.modem.phonumber 138111111111      手机号,生成一个随机11位数字
setprop persist.nox.model ABC001                      手机型号,英文加数字随机
setprop persist.nox.manufacturer XiaoMi               手机制造商英文随机
setprop persist.nox.brand Mi                          手机品牌英文随机

5. 常见问题处理

端口异常

  • 报错信息:
    Unable to start adb server: error: protocol fault (couldn't read status): Connection reset by peer
  • 问题原因:
    大多数情况是5037端口被占用。5037为adb默认端口。
  • 解决办法:
    查看哪个程序占用了adb端口,结束这个程序,然后重启adb就可以了。
    使用命令:netstat -aon|findstr "5037" 找到占用5037端口的进程PID。
    在这里插入图片描述
    使用命令:tasklist|findstr “5440” 通过PID找出进程。
    在这里插入图片描述
    结束此进程,再通过adb start-server 启动adb就行了
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在您提供的信息中,有关Linux中使用adb命令会卡很久的问题,没有直接的引用内容提供具体原因。然而,根据您提供的现象描述和解决过程总结,可能的原因如下所示: 1. 软件环境问题:您提到使用了嵌入式Linux Buildroot制作的rootfs,并采用较高版本的Linux内核。这些因素可能导致系统和adb命令之间的兼容性问题,从而导致adb命令卡顿。 2. rootfs差异:您在解决过程中提到发现了公司的rootfs和客户的rootfs的libc版本的差异。这些差异可能会影响adb命令的执行效果,导致其卡顿。 针对这个问题,您可以尝试以下解决方法: 1. 检查软件环境:确保您使用的嵌入式Linux Buildroot制作的rootfs和Linux内核版本兼容,可以尝试降低Linux内核版本或使用其他兼容的rootfs。 2. 检查rootfs差异:进一步检查公司的rootfs和客户的rootfs的libc版本差异,并确认是否存在其他差异。如果有差异,可以尝试使用统一的libc版本来避免兼容性问题。 3. 调试和分析:使用调试工具查看adb命令执行时的系统状态和资源占用情况,以确定具体导致卡顿的原因。可以使用adb的调试选项或其他系统监测工具来帮助定位问题。 请注意,这些解决方法仅是基于您提供的信息给出的一般建议。实际情况可能会有所不同,建议您根据具体情况进行进一步调试和分析,以找出导致adb命令卡顿的具体原因,并采取相应的解决措施。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [嵌入式Linux/Android疑难杂症工作笔记](https://blog.csdn.net/zhou_chenz/article/details/98536025)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值