[转载]起动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
时间: 2024-10-12 11:54:39

[转载]起动service保存android系统log( logcat服务)的相关文章

启动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 # l

android 系统log文件路径

手机的默认的日志目录: /data/local/tmp/* /data/tmp/* /data/system/usagestats/* /data/system/appusagestates/* /data/system/dropbox/* /data/tombstones/* /data/anr/* logcat的日志在 /dev/log/main 有/data/local/log目录的,可以保存3-4天的log. android 系统log文件路径

对于Android系统Log输出日志的封装LogUtils

MainActivity如下: package cc.cn.logutil; import android.os.Bundle; import android.app.Activity; /** * Demo描述: * 对于Android系统Log输出日志的封装LogUtils * 1 可修改LogUtils中的LEVEL值觉得哪些级别的日志可以输出. * 所以方便选择性输出日志或者屏蔽日志输出 * 2 输出的日志除了本想输出的信息外还包含了该日志输出时所属 * 的线程,类,方法名,已经在该方法

android 系统级 service详解

一.android 系统级 service简要说明 android系统级的服务包含了Android Service 和Native Service . Android Service 也称作 Java Service ,是用JAVA语言编写的,实现在框架层. Native Service 也称作 System Service ,是用C++语言编写的,实现在Runtime层. 对于这两种service来说,两个对等service通讯都是利用binder,只不过一种利用*.aidl,一种利用IInt

Android系统各种类型的service刨根解读

Android存在3大类service, 处于android系统的不同框架层,具体解读如下: 1) init.rc中的service service servicemanager /system/bin/servicemanager class core user system group system critical onrestart restart healthd onrestart restart zygote onrestart restart media onrestart res

保持Service不被Kill掉的方法--双Service守护 && Android实现双进程守护

本文分为两个部分,第一部分为双Service守护,第二部分为双进程守护 第一部分: 一.Service简介:Java.lang.Object ?Android.content.Context  ?android.content.ContextWrapper  ?android.app.Service Service是应用程序Application的一个组件(component).它的作用有两点:1.用来提供一个长期在后台运行并且不与用户交互的操作,2.也可以为其他应用程序提供服务.Service

深入浅出 - Android系统移植与平台开发(十一)- Android系统的定制【转】

本文转载自: 4.3定制Android平台系统 通常产品厂商在拿到Android源码后会在android源码基础上进行定制修改,以匹配适应自己的产品,从本节开始,我们从最原始的Android源码系统里一步一步定制出自己的Android系统.本节主要内容包含:根据Android源码,添加新产品编译项,定制系统启动界面和文字,定制系统启动动画和声音,定制系统桌面. 4.3.1 添加新产品编译项 Android系统的源代码是一个逻辑结构非常独立工程,在一套Android源码中可以编译出多个产品映像,在

Android系统Surface机制的SurfaceFlinger服务渲染应用程序UI的过程分析

文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8079456 在前面的一系列文章中,我们学习了Android应用程序与SurfaceFlinger服务的关系,以及SurfaceFlinger服务的启动过程.初始化硬件帧缓冲区的过程.线程模型.SurfaceFlinger服务所做的一切都是为了给Android应用程序提服务的,即为Android应用程序渲染它们的UI.在本文中,我们就详细分析Su

Android四大组件之服务-Service

一.Android 服务简介 Service是android 系统中的四大组件之一(Activity.Service.BroadcastReceiver.ContentProvider),它跟Activity的级别差不多,但不能自己运行只能后台运行,并且可以和其他组件进行交互.service可以在很多场合的应用中使用,比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,再或者在后台记录你地理信息位置的改变等等,总之服务总是藏在后台的. Se