1,adb离线抓logcat
没有串口,adb 测试过程断开连接可以提前输入下面指令,这样adb 断开也可以在后台抓log,然后copy 出来分析就可以了
nohup logcat > /sdcard/111.log &
2,adb logcat 过滤关键字
adb logcat -s xxxxxx 可以过滤关键字查看自己加的log
3,保存log 到指定路径,方便分析
adb logcat -b all > 本地文件名称,必须说adb logcat -b all > test.txt
4,抓bugreport
adb bugreport ~/
如果是GMS 测试的话,也可以通过命令的方式
run cts ----bugreport-on-failure -m xxxxxx
5,模拟电池温度修改
adb shell dumpsys battery set temp 700 (700 表示70摄氏度)
6,获取当前启动APP的包名和启动活动名
adb shell dumpsys window | grep mCurrentFocus
7,知道模块名,如何快速定位到源码路径
source build/envsetup.sh
unch
然后比如说进入Settings 源码,输入该gomod Settings 即可快速定位源码
8,调试源码的时候,补全代码提示
这里我建议使用android studio 调试android 源码,可以自动补全代码提示,参考大神的方式
Android AOSP基础(四)Source Insight和Android Studio导入系统源码 | BATcoder - 刘望舒
9,查看主次设备号
首先查看分区对应的block,以flashstorage 为例
xxxxx:/ # ls -alh dev/block/by-name/flashstorage
lrwxrwxrwx 1 root root 21 1970-01-01 23:53 dev/block/by-name/flashstorage -> /dev/block/mmcblk0p80
然后执行ls -alh sys/dev/block/ ,红色部分就是主次设备号,一般都是固定的.
lrwxrwxrwx 1 root root 0 2023-07-23 20:24 259:49 -> ../../devices/platform/soc/4744000.sdhci/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0p81
10,发送广播
android 10 开始发送广播需要带包名或者component
命令发广播带参数
adb shell am broadcast -a com.android.nfp.fotaDebug com.nfp.update --ei --es test_string "this is test string" --ei test_int 100 --ez test_boolean true
红色是Action
紫色是包名
绿色是参数,可以是string,boolean ,Int
或者指定broadcast 接收
adb shell am broadcast -n "com.nfp.update/com.nfp.update.receiver.DebugmodeReceiver" -a com.android.nfp.fotaDebug --ei "fota_debug" 1
11 快速填充分区大小
项目开发中,需要测试极端情况,低内存系统运行,OTA 更新,可以通过命令快速填充分区,
adb shell dd if=/dev/zero of=/data/bigfile bs=104857600 count=1
bs=104857600 这个我这边定义的是100M ,可以自己实际情况改写
count=1 这个是写入次数,如果改成10 ,就是写入1000M ,
上面的意思是往/data 分区写入大小为100 M 的bigfile 文件,写入1次,
12,参看内存存储空间
adb shell dumpsys devicestoragemonitor
Known volumes:
Default:
level=NORMAL lastUsableBytes=2596012032 上一次可使用空间
lowBytes=203738316 fullBytes=1048576
path=/data
mSeq=1 mForceState=UNKNOWN
13,触发低内存命令
adb shell dumpsys devicestoragemonitor force-low 触发低存储流程调用
持续分享记录