如下图将command window 和Button Bar勾选,即下方会出现按钮行以及命令输入行
有时候发现在串口输入 logcat,出现logcat打印太少,或者没有logcat的现象,这个时候执行以下命令。(此种机制是因为mtk的log要先检测在data目录下时候有tkui.print这个文件,如果有,log命令才会生效并且打印)
su
touch /data/tkui.print
sync;sync;sync
reboot
我们在复现问题以及抓log的时候,大多都是开始先输入一个logcat,然后再复现问题,问题复现到了之后,再去保存logcat。此时如果经过很长时间才复现到问题现象。则会发现logcat文件已经很大了。这种抓log有以下几点缺点:
推荐比较好的有效的抓取logcat的几种方式
1.复现问题之前输入"logcat -c" 先将之前即将要刷出现无用的logcat清除。然后重新保存一份新的logcat。再输入logcat开始复现。依次类推,直到复现到问题。(每次抓log切记,让logcat多跑一会,大概一分钟。再关闭logcat,上传系统)
2.为了方便测试人员,不用去重复的保存logcat。可以采用这种方式:复现之前打开logcat保存文件,然后输入"logcat -c"清除之前无用的logcat。然后输入logcat,让logcat刷起来,接着开始复现。等到复现到问题之后快速在命令行敲出几个标志的字符,可以多敲几次(可以随便起,例如test等到问题现象完毕,然后让logcat多刷一会。即可以将logcat上传到系统,然后上传后请在问题上说明刚刚敲击的关键词是什么。这样做的作用是:让开发人员很好的定位问题出现对应的logcat的位置。从而更高效的解决问题。
3.logcat中请按照上面的方法,加上时间戳。这样也可以让开发人员更好的定位问题的所在
4.出现ANR时
ANR,是“Application Not Responding”的缩写,即“应用程序无响应”。
什么情况下才会产生ANR
当ANR出现后需要抓取的log
1.串口logcat
2.traces.txt文件(cp /data/anr/traces.txt /storge/U盘名/)
cp 路径A下的某个文件C 路径B(将文件c拷贝到B路径下)
eg:
cp -rf 路径A 路径B(将A路径下的所有文件拷贝到B路径下)
eg:
串口命令加上"adb shell",即为adb命令
adb install -r LiveTV.apk
adb uninstall LiveTV.apk
pm install -r LiveTV.apk
pm list users(列出所有用户)
pm remove-user 10(在主用户模式下删除10这个用户)
am switch-user 10(切换到10这个用户)
串口输入 reboot recovery(进入后也可以OTA升级)
setenforce 0(关掉selinux)
将OTA包拷到U盘下,将U盘插入TV
进入工厂菜单点击OTA菜单按钮
mount -o rw,remount /system(挂载system分区)
mount -o rw,remount /perm(挂载perm分区)
am start -n 应用包名/应用Activity名
am start -n com.coocaa.factory/.SkyFactory(打开工厂菜单)
am start -n com.android.tv.settings/.MainSettings(打开主页settings)
am start -n com.google.android.tvlauncher/com.google.android.tvlauncher.MainActivity(打开home主页)
am start -n com.google.android.youtube.tv/com.google.android.apps.youtube.tv.cobalt.activity.MainActivity(打开youtube)
input text rd120170907(如何rd1的密码)
dumpsys window|grep mFocusedWindow
这个命令可以从显示出来的包名以及类名,查看是属于那一个app。从而可以确认是我们的应用还是谷歌或者第三方的应用
screencap -p /storge/u盘名
目前好像只能截主页的图
input keyevent 178 (模拟按下键值为178的键,附件为各键对应的键值)
su
echo 7 > /proc/sys/kernel/printk
touch /data/tkui.print
sync
ttyman
按“tap”进入mw cli
mw.oh.el 1
重启系统后输入
su
echo 7 > /proc/sys/kernel/printk
logcat -c
开始复制问题,复制到问题后在
输入logcat。
一般无声音直接在串口logcat也是无用的。所以如果随机出现无声还是请及时联系开发
su
setenforce 0
echo 7 > /proc/sys/kernel/printk
ttyman
b.scm 0
pmx.vb1.6m60.slupg 后面接文件路径(升级6m60)
pmx.vb1.6m60.slver(读取6m60版本号)
连接串口,当打印出来后回车并输入su,再回车;
输入cat /proc/partinfo,找到panel对应的分区号,一般panel为31。
U盘拷贝入要替换的panel.bin,将U盘插到TV上, 使用如下命令替换: 输入 setenforce 0 然后回车 输入 dd if=/storage/0000-0000/panel.bin of=/dev/mmcblk0p31 然后reboot重启
注意:0000-0000为U盘名称,要替换成你自己的,31也好替换成你需要的
su
echo 7 > /proc/sys/kernel/printk
cli
b.scm 0
aud.io.spdif.iecs 2 1
su
echo 7 > /proc/sys/kernel/printk
cli
b.scm 0
pmx.l(展示所有可选择的panel)
pmx.s.p 211(一般根据屏选择对应的编好)
su
echo 7 > /proc/sys/kernel/printk
cli
b.scm 0
aud.io.adac.ai