如何導出安卓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獲取更多相關知識。