Android车载应用开发常用adb命令

1、adb安装应用到指定设备:

首先adb devices查看设备列表 

然后 adb -s 指定相应 serialNumber 号的设备/模拟器为命令目标  后面接install 安装apk指令

 install -t         //允许安装test测试版apk

install -r        //允许覆盖安装apk

install -d         //允许安装低版本apk

2、模拟方控按键命令:


adb shell input keyevent KEYCODE_DFL_VR
这个KEYCODE_DFL_VR值为296  在keyevent中找值对应的变量可以查看对应的值,使用keyevent的值一样可以模拟按键事件

adb shell input keyevent     --longpress  296    //长按事件  296

3、记录日志:


adb logcat >logcat20240724.txt       //logcat20240724.txt  指定日志保存名称与格式
ctrl + c        //停止拉取日志


4、push安装包指令:


adb root    //获取管理员权限
adb remount    //删除系统应用
adb push BluetoothDial /system/app/    安装包的路径
adb shell sync

重启:reboot
——————————————————
执行一下指令,将两个文件替换
adb root
adb remount
adb push CarService.apk system/priv-app/CarService/
adb install DFL_CarConnect_V2.4.0_develop-623_92fc10ca_202409051824_Release.apk
adb reboot

————————————————————-

5、日常指令:

先adb shell

adb am force-stop 包名 //强行杀进程  

adb shell dumpsys package 包名  //查看版本号

adb ps -ef | grep  com.dfl.carconnect         //过滤包名查看应用进程号

adb pull  [设备文件路径] [本地文件路径]        //从设备上复制文件到本地计算机

adb命令查找对应的字符串:
1、cd到对应目录
2、findstr /s "onVirtualInputKeyEvent(要查找的字符串)" *

6、取PCM音频文件:

adb CCS2.0取音频:
C:\Users\wbxiaodaan>adb shell
x9hp_ms:/ $ cd /data/local/tmp/aec_logs        //cd到对应目录
x9hp_ms:/data/local/tmp/aec_logs $ ls       //查看目录内容
//在车机上通话或唤醒语音助手,开始录音
//结束录音
x9hp_ms:/data/local/tmp/aec_logs $ exit          //退出  退出后才可以拉取音频文件
C:\Users\wbxiaodaan>adb pull /data/local/tmp/aec_logs
/data/local/tmp/aec_logs/:1 file pulled, 0 skipped. 36.9 MB/s (11919360 bytes in 0.308s)

 

CCS 5.0取音频:
adb root
adb shell
setprop  dump.audio.hw.capture.pcm 1
cd data/vendor/audio
ls
//如果已有录音文件,可以先删除
//删除文件 
rm 文件名
例如:rm  record_pcm_in_hw_23.pcm,注意删除掉录音文件后,需要重启车机,否则不会重新创建录音文件
//开始录音
//结束录音
ls
exit
adb pull data/vendor/audio
 

//去掉VR的指令:
//先重启 
adb reboot
//再root
adb root
adb remount
adb shell
cd到/vendor/app/DflSpeechHMI这个目录,然后执行mv  DflSpeechHMI.apk DflSpeechHMI.apkbak

7、跳转到设置里面的互联设备:


adb shell am start -a popToCarPlay -n com.dfl.setting/com.dfl.setting.view.SettingActivity --es ViewType PhoneLinkFragment

包名:com.dfl.setting   类名:com.dfl.setting.view.SettingActivity
参数的key:"ViewType",value: "PhoneLinkFragment"

action为popToCarPlay 表示跳转到设备互联界面并滑动到carplay
action为popToHiCar 表示跳转到设备互联界面并滑动到hicar
action为popToCarLink 表示跳转到设备互联界面并滑动到carlink

8、取日志手顺:

华为抓取手机日志:
手机调试日志
i. 确保手机已经启用开发者模式。进入“设置” > “关于手机” > 连续点击“版本号”7次,启用开发者选项。
ii. 在“设置”中找到“开发者选项”,开启“USB调试”。
iii. 手机开启ap log开关,通话界面拨号*#*#2846579#*#*进入工程模式,在"后台设置"中打开"AP LOG设置"
 车机调试日志
I. 确保手机已经启用开发者模式。进入“设置” > “关于手机” > 连续点击“版本号”7次,启用开发者选项。
 取出相关发生问题时间点的车机、手机端日志
 
手机型号: 看下你测试的手机型号,比如我的:华为nova 9 Pro  

手机系统版本: HarmonyOS 4.2.0.176(华为手机-设置-关于手机-版本号)

手机HiCar APP版本:14.2.0.205

(华为手机-设置-更多连接-HiCar智行-右上角四个点-关于)


手机获取hicar日志和蓝牙HCI日志命令
adb pull /data/log/bt
adb pull /data/log/hilogs

vivo 手机开启日志:
在拨号键盘上输入*#*#112#*#*。


carlink 手机抓取日志*#*#284#*#*

小米抓取WiFi和蓝牙日志
WiFi详细日志:
WiFi没连上,需要抓取WiFi详细日志进一步分析:
1.拨号盘输入*#*#94341#*#*打开开关(此开关打开会一直有效,重复输入会关闭,可以在WiFi连接界面确认是否打开)
2.复现问题
3.拨号盘输入*#*#9434#*#*抓取日志,日志为bugreport

蓝牙日志:
1.拨号盘输入*#*#5959#*#*,开始抓取蓝牙日志
2.做测试,复现问题
3.再次输入*#*#5959#*#*,结束抓取蓝牙日志
4.输入*#*#284#*#*,等待bugreport日志抓取完成,bugreport包含蓝牙日志

=====================
查看车机蓝牙日志
(取日志前要开关一下蓝牙)
蓝牙日志路径:data/misc/bluetooth/logs
使用Wrieshark或Ellisys Bluetooth Analyzer打开蓝牙日志
查找starting advertiser,并记录这个开始时间点,找对应的蓝牙日志 : 关键字 fb fc
可能出现异常:HFP(通话数据) 占了ATT的channel, 例如拨打电话时 连接carlink 会连接失败
三、分析断连和TCP连不上的问题
adb命令:
adb root
adb remount
adb shell
tcpdump -i any -vnn -w /sdcard/file.cap
执行后在手机互联上连接操作,复现问题,结束后Ctrl+c
同时抓日志:用于定位连接进度40%的时间点,然后在这个时间点后附近的时间找ARP的问答:
adb logcat >目录\logcat.txt 
Ctrl+c
两个日志对照定位,ARP是成对的,一问一答,例如:问 : Who has ... ? 答 :  ...is at...(mac地址)
如果有问没答  20秒内轮询每秒一次

=================================


setprop persist.log.tag V
手机进入诊断模式及日志反馈方法:
1、进入 我的华为app(桌面下滑搜索“我的华为”)-服务-检测与帮助-右上角四个点-诊断分析,输入验证码:XXXXXX(24小时内输入有效),提示开启诊断模式成功即可;
2、复现问题;
3、问题复现后下拉手机通知栏点击“反馈”,填写问题描述及问题时间点,问题视频或截图可点击“+”添加,再次点击底部的“反馈”,显示反馈完成即可;
4、反馈完成后可以暂时不退出诊断模式(便于多次反馈日志),或者可点击通知栏退出按钮直接退出。(日志反馈不会收集您的个人信息)
诊断码:163091
【小结】主题和densityDpi日志有打印,GPS待排查
【0531】车机没有“registCarDataListener start”日志打印,可能是huaweiSDK没有调用registerCarDataListener接口所致。
boolean isSupportCarGpsAbility();
——ok
boolean isSupportCarGpsDrivingStatusAbility();

——ok
CarDataReportFreq getCarDataReportFreq();

——ok
boolean isSupportCarGpsSensorAbility();

——ok
boolean registerCarDataListener(in GpsDataCallBack  carDataCallBack);
boolean unRegisterCarDataListener(in GpsDataCallBack  carDataCallBack);
【0603】DMSDP   : VirtualGpsManager:register car gps data listener error: java.lang.reflect.InvocationTargetException
 

9、取车机日志


adb shell
ls
//查看日志文件名,如 hsaelog
cd  hsaelog
ls
//查看日志文件名,如logd
cd logd
ls
//先退出,才能拉取日志
exit 
//拉取车机日志到本地
adb  pull  /hsaelog/logd
//拉取车机蓝牙日志到本地
adb pull data/misc/bluedroid

示例:
C:\Users\XXX>adb shell
msmnile_au:/ # ls
acct        cache   data_mirror    early_services  init             metadata  oem          res      system
apex        config  debug_ramdisk  etc             init.environ.rc  mnt       postinstall  sdcard   system_ext
bin         d       default.prop   fota            linkerconfig     navi      proc         storage  vendor
bugreports  data    dev            hsaelog         lost+found       odm       product      sys      vr
msmnile_au:/ # cd  hsaelog
msmnile_au:/hsaelog # ls
logd  lost+found
msmnile_au:/hsaelog # cd logd
msmnile_au:/hsaelog/logd # ls
10@2024-12-02  14@2024-12-02  18@2024-12-03  21@2024-12-04  25@2024-12-10  5@2024-11-27  9@2024-11-28
11@2024-12-02  15@2024-12-03  19@2024-12-03  22@2024-12-04  2@2022-02-22   6@2024-11-27  hsae_persistlog.mmap3
12@2024-12-02  16@2024-12-03  1@2022-02-22   23@2024-12-04  3@2022-02-22   7@2024-11-28  persistlog-xlog.pl
13@2024-12-02  17@2024-12-03  20@2024-12-03  24@2024-12-04  4@2024-11-27   8@2024-11-28
msmnile_au:/hsaelog/logd # exit

C:\Users\wbxiaodaan>adb  pull  /hsaelog/logd
/hsaelog/logd/: 383 files pulled, 0 skipped. 33.3 MB/s (772835700 bytes in 22.147s)

参考链接:【ADB】adb命令的安装和使用(超级详细,命令大全)-CSDN博客

ADB常用命令整理(全网最全)-腾讯云开发者社区-腾讯云 (tencent.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值