华为手机如何获取logcat日志

华为手机如何获取logcat日志,第1张

1、 进入拨号界面输入:##2846579## 2、依次选择ProjectMenu---后台设置----LOG设置---LOG开关 点击打开, 然后在LOG级别选VERBOSE 3、 重新启动手机

主要看是高通还是MTK了。不过大致相当,只是log文件名称不一样而已

手机的android log(包含 main_log、events_log、kernel_log),mainlog记录手机android上层app以及framework相关活动的log,比如你写的app打印的log,就在这里面;eventslog则主要是ActivityManager、powerManager等相关的log;Kernellog则主要是驱动相关的log。

Modem log,主要是通话相关的,比如信号强弱、连接那个网络等等

还有网络相关的netlog,看网络链接情况,抓取网络包等等

主要是以上这三个,其它还有data/anr 目录下的traces/tombstones等等,分析死机、重启还是很重要的。

看应用申请什么权限,就看mainlog就行,但是不一定有,因为一般手机log不会放开。

你可以在终端里键入命令查看其申请了什么权限: adb shell dumpsys package <包名>,或者反编译其apk,查看其AndroidManifestxml文件。

控制台,还是在Eclipse上的Logcat视图?1、如果是控制台,可以在控制台输入:adb logcat -s ":I"2、如果是在Eclipse上的Logcat视图,可以选择filter的级别为“info”-------------------------------------------------------------更多疑问解答,尽在@安卓互助平台 新浪微博

两种情景抓取log:

1、adbshell 能够工作通过adb获取一些信息,如adb bugreport > D:\bugreporttxt。一些Android framework dead lock可能导致bugreport hang。因此需要先获取一些简单log,如dmesg和logcat log。再进行adb bugreport *** 作。获取dmesg log之后,通过sysrq 接口获取更多信息。

kernel/Documentation/sysrqtxt显示 stack for all active CPUecho l >/proc/sysrq-trigger

显示hold lock echo d > /proc/sysrq-trigger

显示 hrtimerecho q > /proc/sysrq-trigger

disk sleep(uninterruptable sleep)时显示tasks,如阻塞在mutex或者hardware

register access。echo w > /proc/sysrq-trigger

进行以上trigger后,再次获取dmesg log以防止覆盖。

通过以下trigger获取crash dump

不同平台拥有不同sysfs进入downloade mode的方式,并使能downloadmode可能是以下一项:

echo 1>/sys/module/restart/parameters/download_mode

echo 1>/sys/module/msm_restart/parameters/download_modeecho 1 >/sys/module/msm_poweroff/parameters/download_mode

如果 *** 作adb bugreport没有block,最后triggercrash。echo c> /proc/sysrq-trigger

2、没有枚举adb port或者adb shell不能正常工作

我们需要trigger dump,通过长按power key或者RESET_IN pin(通常连接到powerkey + volume-产生),

需要确保s2-type 配置为1 (warm reset),而不是 7 (hard reset)

pon_1 is forpower key, pon_3 is for RESET_IN pin以8894为例,kernel/arch/arm64/boot/dts/qcom/msm-pm8994dtsiqcom,pon_1 {undefined

qcom,pon-type = ;

qcom,pull-up = ;

Linux,code = ;

qcom,support-reset = ;

qcom,s1-timer = ;

qcom,s2-timer = ;

qcom,s2-type = ;};

qcom,pon_3 {undefined

qcom,pull-up = ;

qcom,s1-timer = ;

qcom,s2-timer = ;

qcom,s2-type = ;

qcom,use-bark;};

如果仍然不工作,pull down PS_HOLDin 200ms。

读取日志需要的权限

<uses-permission android:name="androidpermissionREAD_LOGS"/>

主要代码

package mtfzgh;

 

import javaioBufferedReader;

import javaioInputStreamReader;

import javautilArrayList;

 

public class MyLog

{

    public static class MLog    //静态类

    {

        public static void getLog()

        {

            Systemoutprintln("--------func start--------"); // 方法启动

            try

            {

                ArrayList<String> cmdLine=new ArrayList<String>();   //设置命令   logcat -d 读取日志

                cmdLineadd("logcat");

                cmdLineadd("-d");

                 

                ArrayList<String> clearLog=new ArrayList<String>();  //设置命令  logcat -c 清除日志

                clearLogadd("logcat");

                clearLogadd("-c");

                 

                Process process=RuntimegetRuntime()exec(cmdLinetoArray(new String[cmdLinesize()]));   //捕获日志

                BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(processgetInputStream()));    //将捕获内容转换为BufferedReader

                 

 

//                RuntimerunFinalizersOnExit(true);

                String str=null;

                while((str=bufferedReaderreadLine())!=null)    //开始读取日志,每次读取一行

                {

                    RuntimegetRuntime()exec(clearLogtoArray(new String[clearLogsize()]));  //清理日志这里至关重要,不清理的话,任何 *** 作都将产生新的日志,代码进入死循环,直到bufferreader满

                    Systemoutprintln(str);    //输出,在logcat中查看效果,也可以是其他 *** 作,比如发送给服务器

                }

                if(str==null)

                {

                    Systemoutprintln("--   is null   --");

                }

            }

            catch(Exception e)

            {

                eprintStackTrace();

            }

            Systemoutprintln("--------func end--------");

        }

    }

}

   

以上就是关于华为手机如何获取logcat日志全部的内容,包括:华为手机如何获取logcat日志、如何抓取kernel,mobile,modem的log-MTK软件、如何获取Android 的系统日志logcat等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9478071.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存