1. 启动 卸载 停止 清除缓存apk
adb shell am start xxx.xxx/xxx.xxx.MainActivity
adb uninstall xxx.xxx
adb shell am force-stop xxx.xxx
adb shell pm clear xxx.xxx
adb shell pm path com.xxx.app.xxx
adb shell install -r -t -d xxx.apk
2. 启动Android Setting
adb shell am start -n com.android.settings/com.android.settings.Settings
3. 启动Activity
adb shell am start -n “xxx.xxx/xxx.xxx.xxActivity”
4. 发送广播
adb shell am broadcast -a xxx.xxx.xxReceiver --es Key “value”
5. 设置分辨率
adb shell wm size 1200x1600
adb shell wm density 160
6. adb指令断网与联网(需要root 权限)
adb shell svc wifi disable
adb shell svc wifi enable
7. 在指定的函数内打印相关java调用
Log.d(“chj”,Log.getStackTraceString(new Throwable()));
8. 批量删除指定本地branch
git branch | grep “bugfix*” | xargs git branch -D
9. crash log分析
crash分析 (如何确定主进程)
find ./ -name "*" -type f |xargs grep --color -i -E -u ""
find ./ -name "*main*" -type f |xargs grep --color -i -E "==========Start=================" > ~/Desktop/my.txt
查找所有文件中包含某个关键字的行
find ./ -name "*" -type f |xargs grep -i "Crash"
查找gz文件中xxx进程号出现次数最多的进程号
ls *main*gz | sort -nk1 | while read f; do echo $f `zcat $f|fgrep xxx |awk '{print $3}'|sort|uniq -c|sort -nk1|tail -1|awk '{print $2}'`; done
查找某个进程出现最后的50行
zcat 43-main.log_2019_5_3_8_44_34.gz | fgrep 29878 | tail -50
zcat xxx | fgrep 29878 | tail -50
Signal Value Action Comment
──────────────────────────────────────────────────────────────────────
SIGHUP1 TermHangup detected on controlling terminal
or death of controlling process
SIGINT2 TermInterrupt from keyboard
SIGQUIT 3 CoreQuit from keyboard
SIGILL4 CoreIllegal Instruction
SIGABRT 6 CoreAbort signal from abort(3)
SIGFPE8 CoreFloating point exception
SIGKILL 9 TermKill signal
SIGSEGV 11 CoreInvalid memory reference
SIGPIPE 13 TermBroken pipe: write to pipe with no
readers
SIGALRM 14 TermTimer signal from alarm(2)
SIGTERM 15 TermTermination signal
SIGUSR1 30,10,16TermUser-defined signal 1
SIGUSR2 31,12,17TermUser-defined signal 2
SIGCHLD 20,17,18Ign Child stopped or terminated
SIGCONT 19,18,25ContContinue if stopped
SIGSTOP 17,19,23StopStop process
SIGTSTP 18,20,24StopStop typed at terminal
SIGTTIN 21,21,26StopTerminal input for background process
SIGTTOU 22,22,27StopTerminal output for background process
分析流程:
找到主进程变化的时间点
时间点确认后查看tombstone,traces和eventslog 确认是否有相关进程crash的信息被记录
常用GREP命令
cat 87-main.log_2019_8_29_11_6_22 | grep -E “xxxx”
多条件过滤
find ./ -name “2020” -type f |xargs grep “15:24” | grep -i --color “xxxxx”