如何导出安卓anr日志
❶ android怎样记录cpu的日志
在发生ANR时,系统会将异常信息写入到traces文件中,系统会记录异常的位置、CPU和内存当时的使用情况,通过查看日志基本就能判断问题所在。接下来打开该文件,通过shell命令就可以了。如使用cat的打开文件:1,adb shell-->cat /data/anr/traces.txt
2,adb shell "cat /data/anr/traces.txt" | less
❷ android anr文件怎么看
引发ANR的原因:在Android里,应用程序的响应性是由ActivityManager和WindowManager系统服务监视的。当它监测到以下情况中的一个时,Android就会针对特定的应用程序显示ANR:1.在5秒内没有响应输入的事件(例如,按键按下,屏幕触摸)2.Bro
❸ 如何产生ANR,ANDROID中的。
引发ANR的原因:
在Android里,应用程序的响应性是由Activity Manager和WindowManager系统服务监视的 。当它监测到以下情况中的一个时,Android就会针对特定的应用程序显示ANR:
1.在5秒内没有响应输入的事件(例如,按键按下,屏幕触摸)
2.BroadcastReceiver在10秒内没有执行完毕
造成以上两点的原因有很多,比如在主线程中做了非常耗时的操作,比如说是下载,io异常等。
潜在的耗时操作,例如网络或数据库操作,或者高耗时的计算如改变位图尺寸,应该在子线程里(或者以数据库操作为例,通过异步请求的方式)来完成。然而,不是说你的主线程阻塞在那里等待子线程的完成——也不是调用 Thread.wait()或是Thread.sleep()。替代的方法是,主线程应该为子线程提供一个Handler,以便完成时能够提交给主线程。以这种方式设计你的应用程序,将能保证你的主线程保持对输入的响应性并能避免由于5秒输入事件的超时引发的ANR对话框。
❹ 安卓项目如何把日志输出到指定文件
你们公司这样的测试人员也要?测试人员要能抓出bug,导出log,最好能基本定位bug的出错位置。还要写得一手好脚本。你们这测试人员不专业啊。建议你写个脚本吧,就几行代码,用busybox执行
❺ android开发怎样查看app的anr日志
一:什么是ANR
ANR:Application Not Responding,即应用无响应
二:ANR的类型
ANR一般有三种类型:
1:KeyDispatchTimeout(5 seconds) --主要类型
按键或触摸事件在特定时间内无响应
2:BroadcastTimeout(10 seconds)
BroadcastReceiver在特定时间内无法处理完成
3:ServiceTimeout(20 seconds) --小概率类型
Service在特定的时间内无法处理完成
三:KeyDispatchTimeout
Akey or touch event was not dispatched within the specified time(按键或触摸事件在特定时间内无响应)
具体的超时时间的定义在framework下的
ActivityManagerService.Java
//How long we wait until we timeout on key dispatching.
staticfinal int KEY_DISPATCHING_TIMEOUT = 5*1000
四:为什么会超时呢?
超时时间的计数一般是从按键分发给app开始。超时的原因一般有两种:
(1)当前的事件没有机会得到处理(即UI线程正在处理前一个事件,没有及时的完成或者looper被某种原因阻塞住了)
(2)当前的事件正在处理,但没有及时完成
五:如何避免KeyDispatchTimeout
1:UI线程尽量只做跟UI相关的工作
2:耗时的工作(比如数据库操作,I/O,连接网络或者别的有可能阻碍UI线程的操作)把它放入单独的线程处理
3:尽量用Handler来处理UIthread和别的thread之间的交互
❻ Android ANR是什么及相应的解决方法
在实际情况中,当Android项目的用户量特别大时候,一些细小的问题也会被放大,ANR问题就是一个典型的例子。
一些ANR问题只会发生在用户实际使用的情景,当系统资源比较紧张等一些特殊情况下才会遇到,而这些ANR问题有很大一部分是因为我们的代码不合理导致,这就需要我们定位问题,修复问题,并且在以后的代码设计中尽量避免这些不合理。
最近工作中集中分析了项目的大量的用户自动上报的ANR问题日志,虽然网上ANR相关的文章已经很多了,在这里还是做一个总结。
❼ 如何查看android手机模拟器往控制台输出的日志信息
日志信息可以通过控制台查看,如果是info的话,你可以设置条件只查看info(比如一些system.out的信息)、还有警告错误。
控制台可以查看工程错误(可以在编译运行前查看是否缺少jar包),假设工程没有问题的话,运行之后出现的错误,可以在logcat查看,很多时候你看不到你的日志信息,是因为logcat信息太多,占满了屏幕,需要固定某个界面,通过过滤器查看到。
❽ android 怎么获取anr路径下的文件
nage your portfolio of positi
❾ Android系统的系统日志有哪几个文件,这些文件中包含什么内容
手机的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,查看应用申请什么权限,一般不会开放。
(9)如何导出安卓anr日志扩展阅读:
系统日志的价值
系统日志策略可以在故障刚刚发生时就向你发送警告信息,系统日志帮助你在最短的时间内发现问题。
系统日志是一种非常关键的组件,因为系统日志可以让你充分了解自己的环境。这种系统日志信息对于决定故障的根本原因或者缩小系统攻击范围来说是非常关键的,因为系统日志可以让你了解故障或者袭击发生之前的所有事件。
为虚拟化环境制定一套良好的系统日志策略也是至关重要的,因为系统日志需要和许多不同的外部组件进行关联。良好的系统日志可以防止你从错误的角度分析问题,避免浪费宝贵的排错时间。
另外一种原因是借助于系统日志,管理员很有可能会发现一些之前从未意识到的问题,在几乎所有刚刚部署系统日志的环境当中。
使用系统日志产品当中包含的其他特性,包括向监控团队自动发送报警通知等功能。系统日志基于警报类型或者准确的警报消息,系统日志可以通过触发特定操作来完成。
系统日志通过简单地设定这些警报,你将会在自己的环境中处于更加主动的位置,因为你可以在事故变得更加严重之前得到通知。
❿ android怎么导出手机奔溃日志
如果你是用eclipse开发的话,在Window--》》show view--》》other--》》logcat。点击OK就能有显示log的窗口了。如果你是要追踪上线的产品出现的崩溃日志的话可以去网上搜bugly获取更多相关知识。