将anr日志拷贝到SD卡里面去 android6.0

mac2025-09-25  27

系统anr日志如果没有root手机,就没办法拿到,所以需要修改系统,将ANR日志拷贝到sdcard目录里面。

1.在init.qcom.corelog.sh文件中添加创建目录和拷贝文件的动作:

--- a/src/LINUX/android/device/qcom/msm8952_64/init.qcom.corelog.sh

+++ b/src/LINUX/android/device/qcom/msm8952_64/init.qcom.corelog.sh

@@ -33,10 +33,14 @@ LOGKMSG="$LOGPATH/kmsg.txt"

 LOGSYSPROP="$LOGPATH/sysprop.txt"

 LOGMISCINFO="$LOGPATH/miscinfo.txt"

-LOGBAT="/sdcard/ctflog/battery"

+LOGBAT="$LOGTOPPATH/battery"

 LOGBATTERY="$LOGBAT/battery.csv"

 LOGFGREGS="$LOGBAT/fgregs.txt"

+LOGTRACE="$LOGTOPPATH/trace"

+#========================================

 function DEBUG()

 { 

    [ "$_DEBUG" == "ON" ] && $@ || :

@@ -196,6 +200,11 @@ function main()

      rename_log

    fi

 

+   DBG_MSG "copy anr log +++"

+   #cp -rf /data/system/dropbox/  "$LOGTRACE/"

+   mkdir -p $LOGTRACE

+   cp -rf  "/data/anr/"  $LOGTRACE

+

    # Check crash event

    ramoops="/sys/fs/pstore/dmesg-ramoops-0"

2.修改SeLinux权限:

--- a/src/LINUX/android/device/qcom/sepolicy/common/init_shell.te

+++ b/src/LINUX/android/device/qcom/sepolicy/common/init_shell.te

@@ -228,11 +228,26 @@ allow qti_init_shell pstorefs:file unlink;

 allow qti_init_shell default_prop:property_service { set };

 allow qti_init_shell shell_prop:property_service { set };

-#Add for user version 

+# Add for user version 

 allow qti_init_shell  fuse:dir rename;

 allow qti_init_shell  fuse:dir rmdir;

 allow qti_init_shell  fuse:dir reparent;

+# Add for dump anr log

+allow qti_init_shell system_data_file:file open;

+allow qti_init_shell system_data_file:file read;

+allow qti_init_shell system_data_file:file getattr;

+# Add for dump anr log on user build

+allow qti_init_shell anr_data_file:dir getattr;

+allow qti_init_shell anr_data_file:dir read;

+allow qti_init_shell anr_data_file:dir open;

+allow qti_init_shell anr_data_file:dir search;

+

+allow qti_init_shell anr_data_file:file getattr;

+allow qti_init_shell anr_data_file:file open;

+allow qti_init_shell anr_data_file:file read;

+

 #change mcwill dev 

 allow qti_init_shell self:udp_socket { create ioctl };

 allow qti_init_shell net_data_file:dir { search };

 

    

最新回复(0)