ADB命令备忘

这篇博客详细介绍了ADB(Android Debug Bridge)的各种命令用法,包括发送广播、启动服务和活动、查看第三方应用、获取设备分辨率、模拟按键事件、屏幕录制、文件压缩和解压、ADB日志收集、系统设置模拟、刷机过程以及服务和框架的调试等。内容涵盖了Android设备管理和应用程序调试的关键操作。
摘要由CSDN通过智能技术生成

#adb 发送广播命令
进入adb 使用命令: adb shell
发送广播
am broadcast -a action_broadcast_receiver_calling_disconnect --es package "com.android.car.dialer"
//启动services  替换相应服务名和包名
 adb shell am startservice -n com.qiyi.screenonofftest/com.qiyi.screenonofftest.detective
#启动activity
adb shell am start -n 包名/类名

查看第三方应用
adb shell pm list package -3

获取设备分辨率
adb shell wm size

keyevent 命令
adb shell input keyevent KEYCODE_BACK    KEYCODE_HOME    KEYCODE_VOLUME_UP

#adb录制
0.截屏
adb shell screencap /sdcard/screen.png
1.adb录制命令:
//录制手机屏幕,视频格式为mp4,存放到手机sd卡里,默认录制时间为180s,默认存储路径sd卡根目录
adb shell screenrecord /sdcard/test.mp4
2.限制录制时间:
参数: --time-limit
adb shell screenrecord  --time-limit 10 /sdcard/test.mp4 
//限制视频录制时间为10s,如果不限制,默认180s
3.停止录制:
Ctrl + C中断录制,或者到达指定录制时间自动停止

压缩、拆分、合并
tar -czvf av-log.txt.tar av-log.txt
tar -czf - av-log.txt.tar | split -b 200k -d - av-log.txt.tar.
cat av-log.txt.tar.* | tar -zxf -


#adb log
adb logcat -v time > avc.log
adb logcat | grep "avc">avc.log
grep -rn  "snapcam_app*"
cat camera.txt |grep ANR 
cat camera.txt |grep "19:17:51">1751.log

查看安卓的设备信息(所有)
adb shell getprop

##adb shell 动态模拟设置或更新APP数据
adb root
//获取 查看
adb shell getprop persist.s1pro.speed
//设置
adb shell setprop persist.s1pro.speed 10
APP获取方法:
SystemProperties.getInt("persist.s1pro.speed", 0);

Settings.system & global 设置
adb shell settings put system "xx" 1
adb shell settings put global "xx" 1
Settings.System.getInt(contentResolver, "xx", 0)

#adb 刷机失败 
lsusb 查看设备连接 (无法开机, 先拔电池)
adb reboot fastboot
./linux..sh

#push操作
adb root
adb disable-verity
adb reboot
adb root
adb remount
adb push camera.ko /vendor/lib/modules/camera.ko
adb reboot

#校验文件
adb shell  md5sum /vendor/lib/modules/camera.ko

source build/envsetup.sh
lunch
make Settings  & mmm package/apps/Settings
在终端 lunch 后的项目根目录上:如需要编译Settings
simninja Settings


#调试framework
#编译framework,Android 11和之前版本有所区别,
#此处不能使用make framework -j32 或者mmm framework/base -j32都是不行的
make  -j32 framework-minus-apex  

adb root
adb remount
adb shell "rm -rf /system/framework/arm"
adb push framework.jar /system/framework
adb shell sync
adb reboot

#调试services
mmm framework/base/services -j32 或者 make -j32 services

adb root
adb remount
adb shell "rm -rf /system/framework/arm"
adb push services.jar /system/framework
adb shell "rm -rf /data/dalvik-cache/arm/system@framework@services.jar@classes.* "
adb shell sync
adb reboot
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值