以MTK为例
aee 只是单纯拷贝 /sys/kernel/debug/tracing/trace copy_file(aee_dir, "SYS_FTRACE", "/sys/kernel/debug/tracing/trace");
/sys/kernel/debug/tracing/tracing_on 写入 1 or 0 , 也就是开关 trace 动作
/sys/kernel/debug/tracing/buffer_size_kb buffer大小
adb shell atrace -b 10240 --async_start gfx input view webview wm am sm audio video camera hal res dalvik rs bionic power pm ss sched freq idle load memreclaim binder_driver binder_lock
#adb shell atrace -b 10240 -z -o /data/local/tmp/trace_origin --async_stop gfx input view webview wm am sm audio video camera hal res dalvik rs bionic power pm ss sched freq idle load memreclaim binder_driver binder_lock
adb shell atrace -b 10240 --async_stop gfx input view webview wm am sm audio video camera hal res dalvik rs bionic power pm ss sched freq idle load memreclaim binder_driver binder_lock > /data/local/tmp/trace_origin同时去掉头部的
done
TRACE:
第一条开始,开始跑monkey时就执行
第二条停止
trace中存在很多did not finish的打印,跟 CPU online offline 有关. 用 Android sdk 带的 systrace 工具转,python版本需要2.7, 这个工具会把 did not finish 处理掉一部分.
进行相应的转化 systrace.py --from-file=trace -o trace.html
一个报错点修改
File "systrace/catapult/systrace/systrace/tracing_agents/atrace_from_file_agent.py", line 55, in StopAgentTracing
self._trace_data = self._read_trace_data()
需要修改为
def _read_trace_data(self):
with open(self._filename, 'rb') as f:
result = f.read()
try:
data_start = re.search(TRACE_START_REGEXP, result).end(0)
except Exception as e:
data_start = 0
data = re.sub(ADB_IGNORE_REGEXP, '', result[data_start:])
return self._preprocess_data(data)
录屏
adb shell screenrecord --size 1920x1080 --bugreport /sdcard/demo.mp4
//切换不同用户名
ssh user2@10.150.99.200
//远程拷贝文件
scp user2@10.150.99.200:/home/user2/sf_user2//*.* ./
adb shell settings put system screen_off_timeout 5 设置screen_off_timeout 值为5
其中的system可以根据设置的具体情况改成get global或者get secure
repo forall -c git clean -fd && repo forall -c git reset --hard HEAD && repo sync -j24
查看进程$ ps -T -p <pid>
查查看指定进程占用CPU情况:top -o ARGS,%cpu|grep system_server
如何查看SCP的log
查看SCP的log有两个方法
>通过MTKlog查看,如果想打印开机过程的scp log ,则需要eng版本才行;
>通过adb shell可以实时查看;
echo 1 > /sys/class/misc/scp/scp_mobile_log
while true;do cat /dev/scp;done
MTK平台AMS/WMS的debug开关:
adb shell dumpsys activity log x on
adb shell dumpsys window -d enable a
kill -3 进程, 然后就可以在data/anr找到一个traces_00这么一个文件