android 系统调试小知识

文章介绍了ADB的一些实用技巧,包括如何在adb断开连接时继续抓取logcat日志,过滤特定关键字,保存log到指定路径,获取启动APP的包名和活动,调试源码,查看设备信息以及发送广播等,对于Android开发者具有参考价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 触发低存储流程调用

持续分享记录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值