一、android 系统启动过程中加入tcpdump ,分析开机启动后,系统与服务器端的消息交互。
1. init.rc 中的修改
1)在init.rc 中加上tcpdump service.
service tcpdump /system/xbin/tcpdump -s 0 -w/data/test/test_1.pcap
class core
2)在init.rc 中启动tcpdump service
start tcpdump
/*
service:service [ ]*。pathname代表启动service时用到的命令。
其实就是要执行tcpdump -s 0 -w/data/test/test_1.pcap 命令
-w file
-s Snarf snaplen bytes of data from each packet rather than the default of
65535 bytes.Setting snaplen to 0 sets it to the default of 65535
*/
2.制作新的boot.img. boot.img包含 kernel和randisk
cd android/out/target/product/vender/
mkbootfs root | minigzip > ramdisk.img
mkbootimg --kernel kernel --ramdisk ramdisk.img --output boot.img
二、在系统启动中加入logcat debug
------------------------------------------------------------------------------------------------------------
1.在/system/bin目录下添加执行logcat的脚本
mount -o remount,rw /system
echo "logcat -v time > /data/system_boot.log" > /system/bin/logcat.sh
2.在init.rc中添加执行logcat.sh的启动命令
vi init.rc,把下面的语句放到最后,放在前面会有问题
service logcat /system/bin/sh /system/bin/logcat.sh
class core
start logcat
3.重新编译boot.img,并升级
cd android/out/target/product/vender/
mkbootfs root | minigzip > ramdisk.img
mkbootimg --kernel kernel --ramdisk ramdisk.img --output boot.img
4.系统启动后,会将所有的log保持在/data/system_boot.log中