引:下面是我開發中使用頻率非常高的一些logcat ,一般都是分析BUG 時候使用,之後遇到了其他的持續更新。
1.串口logcat
logcat -c 清除歷史logcat
dmesg -n 2 清除kernel 日誌
2.過濾有效log方法:
方式1:
logcat | grep -e "libDeviceManager" -e "iapctrl"
方式2:
logcat -s libDeviceManager
logcat -s iapctrl
方式3:(我常用)
logcat | grep -iE 'aaa|bbb'
3.生成log文件
a.
adb logcat -c
adb logcat -b all >D:\20200401.log
b.
adb logcat -v time > E:\carplay_log.txt
從(車機/手機):拉文件。
adb pull data/carplay_log.txt E:/CAR_LOG
4.內存查找 (串口命令)
ps -ef | grep “xx”
5.串口查看崩潰原因:
logcat -b crash
logcat | grep -iE androidruntime
logcat -b kernel
6.
adb logcat -s robin:i
這樣將顯現tag爲robin的Info及以上優先級的所有的日誌。該命令等同於adb logcat robin:i *:S
7.回到車機主頁面 (串口命令)
input keyevent KEYCODE_HOME
8.搜索
find -name xxxx.java
grep -nr xxxx frameworks/av/
9.手動擴展logcat日誌內存大小
logcat -b all -G 32M
logcat -b all -G 128M
C++/jni :計時方法
#include <time.h>
#include <utils/Log.h>
int main(){
time_t t1,t2,t3,t4,t5;
//同步系統時間 類似於(System.currentTimeMillis());
t1 = time(NULL);
//時鐘時間,從系統啓動的時間作爲標準,所以這個方法來計算差值更方便
t2 = clock();
t3 = clock();
ALOGD("MediaScanner:t1 :%ld ms",t1);
ALOGD("MediaScanner:t3 -t2 :%ld ms",(t3-t2)/1000);
}