1. android 日誌文件用什麼打開
編程調試是每一個編程人員必備的編程技巧,而在編程調試中,我們最最常用也是最最有效的的調試方法之一就是輸出信息,有過java編程經驗的同學應該知道,在java再發的過程中,我們經常會通過在程序可能出現問題的位置處通過
System.out.println("aaaaaaaaaaaaaaaaaaaaaaa");
輸出調試信息來調試程序,通過console控制台,我們就可以輕易得知我們的程序到目前位置處是否運行正常
然而,當我們轉戰android時,我們發現,通過單純的System.out我們已經沒有辦法在console獲取信息,為了獲取必要的調試信息,我們要用到android的LogCat工具
下面我們來看一下android開發中如何查看app運行日誌:
1.在android開發中,我們依然可以使用System.out來經行調試信息的輸出,只是這時的調試信息不再console中,而是在LogCat中;
2.我們也可以使用andorid工具包中的Log類來經行必要調試信息的輸出。
官方解釋:Generally, use the Log.v() Log.d() Log.i() Log.w() and Log.e() methods.
The order in terms of verbosity, from least to most is ERROR, WARN, INFO,
DEBUG, VERBOSE. Verbose should never be compiled into an application except
ring development. Debug logs are compiled in but stripped at runtime. Error,
warning and info logs are always kept.
當我們要輸出信息時,直接使用Log中提供的Log.v() Log.d() Log.i() Log.w() and Log.e()即可
@Override
protected void onResume() {
Log.i(Tag, "first activity--------onResume()");
System.out.println("first activity--------onResume()");
super.onResume();
}
@Override
protected void onStart() {
Log.i(Tag, "first activity--------onStart()");
System.out.println("first activity--------onStart()");
super.onStart();
}
@Override
protected void onStop() {
Log.i(Tag, "first activity--------onStop()");
System.out.println("first activity--------onStop()");
super.onStop();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
Log.i(Tag, "first activity--------onCreate()");
System.out.println("first activity--------onCreate()");
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
我們已經把調試信息輸出,那麼我們應該如何更好的查看這些信息呢:
首先我們要打開eclipse的LogCat窗口,當我們運行一個app時,我們可以看到這個窗口一次會輸出很多信息,大多數信息對於我們來說是不需要的, 為了更快的得到我們期望的信息,這里我們就要用到日誌過濾器filter,如下圖所示,通過加號,我們就可以新建一個過濾器了
新建如下:
如:當你想看System.out的信息時,在Filter Name處填System.out(這里注意,這個名字是隨便填寫的)
在by Log Tag處填寫:System.out這個是System.out.println在android中的Tag標志
當你想看Log輸出的信息時,比如你輸出的信息是:Log.d("Test","this is a Test");
在Filter Name處填寫:Testaa,在by Log Tag處填寫:Test.
2. android手機日誌怎麼查看
手機日誌需要在手機文件管理中查看。(以小米手機為例,其他機型操作方法大致相同)
1.首先在桌面上找到【文件管理器】圖標,點擊進入文件瀏覽頁面。
3. Android 測試,如何從Pc端獲取App日誌信息
首先從3個方面說下次問題,1. 為什麼要獲取日誌? 2.如何獲取?3. 如何查看日誌?
1. 為什麼要獲取日誌?
說明:在對真機內應用進行手工驗證時,如果發現某個功能Bug或操作無響應時,通過日誌能更好體驗出bug的類型和操作是否有請求發出,能更近一步定位bug類型。
2. 如何獲取?
說明:通過adb logcat命令,具體操作:1. 需要下載對應Android 系統版本的Android sdk(安卓開發工具包自帶包含adb命令);2. 搭建相應的環境;3. 手機打開usb調試模式並通過數據線連接電腦(需要安裝手機驅動,通過第三方軟體自動安裝 如:應用寶) 4.驗證環境及手機和電腦連接通暢(cmd命令行輸入:adb devices) 出現手機設備信息即可;5. 此時 輸入命令 adb logcat (獲取手機運行實時日誌命令)
3. 如何查看日誌?
說明: 一般查找E開頭信息;E:Error簡寫,其他常用錯用可以參考黑馬程序員移動測試相關資料或視頻,組里老大就是黑馬出來的,據說講的不錯。上面這些知識點,在他們課程配套筆記里也很多。很全面
4. 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,查看應用申請什麼許可權,一般不會開放。
(4)android運行日誌擴展閱讀:
系統日誌的價值
系統日誌策略可以在故障剛剛發生時就向你發送警告信息,系統日誌幫助你在最短的時間內發現問題。
系統日誌是一種非常關鍵的組件,因為系統日誌可以讓你充分了解自己的環境。這種系統日誌信息對於決定故障的根本原因或者縮小系統攻擊范圍來說是非常關鍵的,因為系統日誌可以讓你了解故障或者襲擊發生之前的所有事件。
為虛擬化環境制定一套良好的系統日誌策略也是至關重要的,因為系統日誌需要和許多不同的外部組件進行關聯。良好的系統日誌可以防止你從錯誤的角度分析問題,避免浪費寶貴的排錯時間。
另外一種原因是藉助於系統日誌,管理員很有可能會發現一些之前從未意識到的問題,在幾乎所有剛剛部署系統日誌的環境當中。
使用系統日誌產品當中包含的其他特性,包括向監控團隊自動發送報警通知等功能。系統日誌基於警報類型或者准確的警報消息,系統日誌可以通過觸發特定操作來完成。
系統日誌通過簡單地設定這些警報,你將會在自己的環境中處於更加主動的位置,因為你可以在事故變得更加嚴重之前得到通知。
5. android手機日誌怎麼查看
以小米手機為例,其他機型操作方法大致相同:
1.首先在手機桌面上找到【文件管理】,進入手機的文件管理頁面。
6. 怎麼查看手機軟體運行日誌
使用Android studio查看手機的日誌可參考以下步驟:
1、打開android studio隨便進入一個工程進入主界面
7. 如何在cmd窗口中查看安卓虛擬機中軟體運行狀態日誌
很多種方法都可以的。最常見的是在eclipse中直接查看
菜單--》 windows--》 show VIew --》 other 找到 android logcat 選項,選上就可以在log標簽里查看了
也可以在CMD中輸入adb logcat (目錄切換到sdk/tools下, 例如:c:android-for-windows\tools ,adb logcat &)
最後的&,可以不加。
8. android 怎麼查看安裝包的運行日誌
1、安裝文件的話,如果是從手機下載的,一般在內存卡里會有一個下載文件夾。
2、如果是要安裝後生成的文件(雖然不知道你有什麼用),在內存卡里會有date和android兩個文件夾,裡面就有。
3、如果是安裝在手機內存,就在機身內存里找這兩個文件夾和\system\\app
9. 如何獲取 android 的系統日誌
讀取日誌需要的許可權
1
<uses-permission android:name="android.permission.READ_LOGS"/>
主要代碼
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package mt.fzgh;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class MyLog
{
public static class MLog //<a href="https://www..com/s?wd=%E9%9D%99%E6%80%81%E7%B1%BB&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-" target="_blank" class="-highlight">靜態類</a>
{
public static void getLog()
{
System.out.println("--------func start--------"); // 方法啟動
try
{
ArrayList<String> cmdLine=new ArrayList<String>(); //設置命令 logcat -d 讀取日誌
cmdLine.add("logcat");
cmdLine.add("-d");
ArrayList<String> clearLog=new ArrayList<String>(); //設置命令 logcat -c 清除日誌
clearLog.add("logcat");
clearLog.add("-c");
Process process=Runtime.getRuntime().exec(cmdLine.toArray(new String[cmdLine.size()])); //捕獲日誌
BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(process.getInputStream())); //將捕獲內容轉換為BufferedReader
// Runtime.runFinalizersOnExit(true);
String str=null;
while((str=bufferedReader.readLine())!=null) //開始讀取日誌,每次讀取一行
{
Runtime.getRuntime().exec(clearLog.toArray(new String[clearLog.size()])); //清理日誌....這里至關重要,不清理的話,任何操作都將產生新的日誌,代碼進入死循環,直到bufferreader滿
System.out.println(str); //輸出,在logcat中查看效果,也可以是其他操作,比如發送給伺服器..
}
if(str==null)
{
System.out.println("-- is null --");
}
}
catch(Exception e)
{
e.printStackTrace();
}
System.out.println("--------func end--------");
}
}
}
這里比較令人糾結的一點就是日誌的清理 logcat -c 如果不加入 清理 在buffer滿為止,代碼自身能夠迭代6~7次....
附帶一份logcat的 命令...不過好像 過濾器 指令有問題....慎用
選項 說明
-s 默認設置過濾器
- f 文件 輸出到日誌文件
-c 清除日誌
-d 獲取日誌
-g 獲取日誌的大小
- v 格式 設置日誌(見下面的格式列印格式)
- v 格式 例
brief W/tag ( 876): message
process W( 876) message (tag)
tag W/tag : message
thread W( 876:0x37c) message
raw message
time 09-08 05:40:26.729 W/tag ( 876): message
threadtime 09-08 05:40:26.729 876 892 W tag : message
long [09-08 05:40:26.729 876:0x37c W/tag ] message