.......................................................................................................................................................................................................
start my android vip order index :
.......................................................................................................................................................................................................
1 ALOGW("%s(%d)-%s:this is syh",__FILE__,__LINE__,__FUNCTION__);
.......................................................................................................................................................................................................
2 ALOGD("%s(%d):this is syh",__FUNCTION__,__LINE__);.......................................................................................................................................................................................................
3 find frameworks/ device/ hardware/ "*.h|*.cpp" | xargs grep "EffectChain" > result.txt
.......................................................................................................................................................................................................
4 adb logcat -v threadtime | egrep "MediaRecorder|MediaRecorderClient|StagefrightRecorder|AMRWriter|AudioSource|AudioFlinger"
.......................................................................................................................................................................................................
5 AudioSystem.setForceUse(AudioSystem.FOR_MEDIA, AudioSystem.FORCE_SPEAKER); 强制切换设备到外放上
.......................................................................................................................................................................................................
6 AudioSystem.setForceUse(AudioSystem.FOR_MEDIA, AudioSystem.FORCE_HEADPHONES);强制切换设备到耳机上
.......................................................................................................................................................................................................
7 AudioSystem.setForceUse(AudioSystem.FOR_MEDIA, AudioSystem.FORCE_NONE);强制切换设备到没有任何设备上,即是关闭所有设置
.......................................................................................................................................................................................................
8 svn merge -r 100:99 你的目录; 现在版本是100, 回退到99; svn commit 改变的目录; 上传文件
.......................................................................................................................................................................................................
9 svn mv "原仓库名" "新仓库名"; svn mv "原仓库名" "新仓库名"; svn commit 改变的目录; 上传文件
.......................................................................................................................................................................................................
10 使用Java日志接口:类中定义的LOG_TAG常量和引用android.util.Log:(1) private static final String LOG_TAG = "MY_LOG_TAG";(2)import android.util.Log;
.......................................................................................................................................................................................................
11 使用C/C++日志接口:类中定义LOG_TAG宏和包含头文件:(1)#define LOG_TAG "MY LOG TAG";(2)#include <utils/Log.h>(3)#define LOG_NDEBUG 0 开启LOGV功能printk的使用:printk(KERN_ALERT"This is the log printed by printk in linux kernel space.");KERN_ALERT表示日志级别,后面紧跟着要格式化字符串。
.......................................................................................................................................................................................................
12 使用C/C++日志接口:类中定义LOG_TAG宏和包含头文件:(1)#define LOG_TAG "MY LOG TAG";(2)#include <utils/Log.h>(3)#define LOG_NDEBUG 0 开启LOGV功能
.......................................................................................................................................................................................................13 #define LOG_NDEBUG 0 //打开LOGV,#define LOG_NIDEBUG 0 //打开LOGI,#define LOG_NDDEBUG 0 //打开LOGD,#undef NDEBUG //打开LOGV/LOGI/LOGD
.......................................................................................................................................................................................................
14 使用Kernel日志接口:(1)printk与C语言的printf齐名;(2)#include<linux/kernel.h>(3)adb>
.......................................................................................................................................................................................................
15 Administrator@tgdn-3288 /cygdrive/d/cygwin/bin
$ addr2line.exe -f -e /cygdrive/f/symbol/symbols/system/lib/hw/audio.primary.msm8974.so 00010198
.......................................................................................................................................................................................................
16 (a>b)?a:((c>d)?c:d)) 条件表达式嵌套的情形,即其中的表达式(c>d?c:d)又是一条件表达式
.......................................................................................................................................................................................................
17 :saveas filename -> 另存为
.......................................................................................................................................................................................................
18 v/Audio/d, or :g!/Audio/d 保留匹配行; :g/Audio/d 删除匹配行; :m, V, gg, d, 删除到文件头; :m, V, G, d, 删除到文件尾; :m, V, j or k, d, 删除两个行号直接的Log
.......................................................................................................................................................................................................
19 1 跳到文件某行(:行号M);2 shift + v 选中当前行;3 按j向下选中到要删除的行号N,按k键向上选中到要删除的行号N;4 按下d键删除行号为M和N之间的log
.......................................................................................................................................................................................................
20 1 gg 跳到文件第一行;2 shift + v 选中当前行;3 按j向下选中到要删除的行号N,按k键向上选中到要删除的行号N;4 按d键删除到文件头
.......................................................................................................................................................................................................
21 1 shift +g 跳到文件最后一行;2 shift + v 选中当前行;3 按j向下选中到要删除的行号N,按k键向上选中到要删除的行号N;4 按d键删除到文件尾
.......................................................................................................................................................................................................
22 查找两个时间段期间, 发生错误的log信息, 如输入:v/17:35\|17:36\|17:37\|17:38\|17:39/d, 或者输入:v/17:\(35\|36\|37\|38\|39\)/d, 查找17:35到17:39分钟期间错误log
.......................................................................................................................................................................................................
23 保存某个时间段期间错误的log, 如输入:saveas G:/filename.txt, 就将错误Log信息保存到了G盘根目录下, 名字为filename.txt的文本文件中了
.......................................................................................................................................................................................................
24 查找几个关键词, 发生错误的log信息, 如输入:v/AudioFlinger\|ALSADevice\|alsa_ucm/d, 查找AudioFlinger\|ALSADevice\|alsa_ucm错误log
.......................................................................................................................................................................................................
25 /mediatek/frameworks-ext/av/media/libstagefright/ 怎么编译--》./mk -t mm frameworks/av/media/libstagefright/
.......................................................................................................................................................................................................
26 查找那些客户端使用了声音: :v/AudioService/d, :v/requestAudioFocus/d, :v/abandonAudioFocus/d,即可查看对应名字
.......................................................................................................................................................................................................
27 mtk和qcom查找tombstones方法: adb shell kill -6 pid, adb pull /data/tombstones d:/tombstones/
........................................................................................................................................................................................................
28 mtk查找tombstones方法: (1)adb shell aee -m 3,(2)adb shell rtt -f bt -p pid > d:/tombstones.txt
........................................................................................................................................................................................................
29 通过addr2line找到地址对应的文件名和行号,不用手动去查MAP文件, 00010198 代表pc号
/cygdrive/d/cygwin/bin/ addr2line.exe -f -e /cygdrive/f/symbol/symbols/system/lib/hw/audio.primary.msm8974.so 00010198 ........................................................................................................................................................................................................
30 nm命令查看动态库so方法: nm /cygdrive/f/symbol/1227T/symbols/system/lib/libnvram.so | egrep "read"
........................................................................................................................................................................................................
31 mtk
........................................................................................................................................................................................................