[轉載]起動service保存android系統log( logcat服務)
原文鏈接:http://www.myexception.cn/android/1904013.html
啟動service保存android系統log
作為android開發工程師,出現了BUG是否苦于沒有log而苦惱萬分呢,以下敝人提供一套自動保存log的方法,供大家借鑒學習:
首先,在產品目錄的init.XXX.rc文件中,添加相應的service,
# start log service start logd on property:service.logcat.enable=1 start logcat_service on property:service.logcat.enable=0 stop logcat_service # log services service logcat_service /system/bin/logcat -b system -b events -b main -b radio -k -n 10 -v threadtime -r5000 -f /data/Logs/Log.0/logcat.log user root group log system class main disabled service logd /system/bin/sh /system/bin/logd.sh user system group log oneshot
然后,在目標平臺的system/bin下添加腳本文件logd.sh,處理存儲的log日志,以及設置屬性,開啟logcat_service,
#!/system/bin/sh # # Global folder & cmd params # OUTPUT_DIR=/data LOG=Logs index=2 LOG_DIR[0]=$OUTPUT_DIR/$LOG/Log.0 LOG_DIR[1]=$OUTPUT_DIR/$LOG/Log.1 LOG_DIR[2]=$OUTPUT_DIR/$LOG/Log.2 RM=rm MV="mv" MKDIR=mkdir UMASK=umask # set default permission 0775 $UMASK 002 # Init the three folders i=0 while [ "$i" -le "$index" ] do $MKDIR -p ${LOG_DIR[$i]} i=$(($i+1)) done # Transfer the three folders ((i=$index-1)) $RM -r ${LOG_DIR[$index]}/* while [ "$i" -ge "0" ] do $MV ${LOG_DIR[$i]}/* ${LOG_DIR[$i+1]} i=$(($i-1)) done $RM -r ${LOG_DIR[0]}/* # start logcat service setprop service.logcat.enable 1 mkdir /data/www cp -R /system/var/www/ /data/ ln -s /storage/external/ /data/www/sdcard
laser楊萬榮

浙公網安備 33010602011771號