android輸出信息
⑴ Android手機在開發調試時logcat不顯示輸出信息的辦法
問題表現:連接手機與電腦後,驅動安裝正確,USB調試模式打開,在DDMS中可以看到device及其進程的信息,但是logcat中就是沒有信息輸出
問題原因:一些rom默認關閉logcat
問題說明:ddms中設備名字顯示為問號不影響,即adb
get-serialno顯示為問號不影響.
解決方法:
1.需要root許可權(部分rom不需要)
2.打開logcat,並設置level,執行命令如下(android
升級之後
adb
在
platform-tools中,不在tools中)
adb
shell
echo
1
>
/sys/kernel/logger/log_main/enable
說明:將1寫入日誌開關文件,1為開,0為關
echo
2
>/sys/kernel/logger/log_main/priority
說明:將代表level的2寫入優先順序文件
3.重啟adb,如果使用eclipse,先關閉eclipse,再重啟adb,再啟動eclipse
adb
kill-server
adb
start-server
4.此時logcat應該可以工作了,如果仍舊不工作,則更新adb
android
update
adb
5.重復第三步,此時logcat應該可以工作了,如果仍舊不工作,找到個人主目錄下的android目錄,如C:Documents
and
SettingsAdministrator.android
找到這個目錄下的adb_usb.ini文件,其內容默認只有三行,全為注釋,在後面添加一行,內容為0x12d1
6.重復第三步,此時logcat應該可以工作了
⑵ Eclipse:Android開發中如何查看System.out.println的輸出內容
1、先看下想要達到的效果
⑶ 在android程序中,log.w用於輸出什麼級別的日誌信息 a調試 b信息 c警告 d
[W]:警告(Warn)信息,輸出顏色為橙色
在LogCat的右上方的5個字母分別表示了5種不同類型的日誌信息(並以不同顏色加以區分,級別越高,顏色越突出):
1. [V]:詳細(Verbose)信息,輸出顏色為黑色
2. [D]:調試(Debug)信息,輸出顏色是藍色
3. [I]:通告(Info)信息,輸出顏色為綠色
4. [W]:警告(Warn)信息,輸出顏色為橙色
5. [E]:錯誤(Error)信息,輸出顏色為紅色,這里錯誤信息的級別最高,其次是警告信息,然後是通知信息和調試信息,級別最低的是詳細信息。
6.[assert],新版本加入的。
⑷ 如何查看android手機模擬器往控制台輸出的日誌信息
很多種方法都可以的。最常見的是在eclipse中直接查看
菜單--》
windows--》
show
VIew
--》
other
找到
android
logcat
選項,選上就可以在log標簽里查看了
也可以在CMD中輸入adb
logcat
(目錄切換到sdk/tools下,
例如:c:android-for-windows\tools
,adb
logcat
&)
最後的&,可以不加。
⑸ android studio怎麼使控制台只輸出當前測試程序的信息
Android開發中,所的有輸出都在logcat中 包含System.out輸出和printStackTrace()輸出都在Logcat中,只需要給logcat增加一個過慮器即可實現只輸出與當前程序的log了。
1. 只顯示需要的輸出,白名單
最方便的當然是通過管道使用 grep 過濾了,這樣可以使用 grep 強大的正則表達式匹配。簡單的匹配一行當中的某個字元串,例如 MyApp:
adb logcat | grep MyApp
adb logcat | grep -i myapp #忽略大小寫。
adb logcat | grep --color=auto -i myapp #設置匹配字元串顏色。更多設置請查看 grep 幫助。
進階一點可以使用 grep 的正則表達式匹配。例如上一個例子會匹配一行中任意位置的 MyApp,可以設置為僅匹配 tag。默認的 log 輸出如下,如果修改過輸出格式相應的表達式也要修改。
I/CacheService( 665): Preparing DiskCache for all thumbnails.
可以看出 tag 是一行開頭的第三個字元開始,根據這點寫出表達式:
adb logcat | grep "^..MyApp"
根據這個格式也可以設置只顯示某個優先順序的 log,再匹配行首第一個字元即可。例如僅顯示 Error 級別 tag 為 MyApp 的輸出:
adb logcat | grep "^E.MyApp"
當然也可以匹配多個,使用 | 分割多個匹配表達式,要加轉義符。例如要匹配 tag 為 MyApp 和 MyActivity 的輸出:
adb logcat | grep "^..MyApp\|^..MyActivity"
adb logcat | grep -E "^..MyApp|^..MyActivity" #使用 egrep 無須轉義符
2. 過濾不需要的輸出,黑名單
還是使用 grep,用法也跟上面的一樣,加一個 -v 即可。例如要過濾 tag 為 MyApp 和 MyActivity 的輸出:
adb logcat | grep -v "^..MyApp\|^..MyActivity"
adb logcat | grep -vE "^..MyApp|^..MyActivity" #使用 egrep 無須轉義符
3. 顯示同一個進程的所有輸出
有時一個程序裡面的 tag 有多個,需要輸出該程序(同一個 PID)的所有 tag;僅使用 tag 過濾有時也會漏掉一些錯誤信息,而一般錯誤信息也是和程序同一個 PID。還是通過 grep 實現,思路是先根據包名找到 pid 號,然後匹配 pid。寫成 shell 腳本如下,參數是程序的 java 包名(如 com.android.media)。
查看源代碼列印幫助\
#!/bin/bash
packageName=$1
pid=`adb shell ps | grep $packageName | awk '{print $2}'`
adb logcat | grep --color=auto $pid
4. 從當前開始顯示
logcat 有緩存,如果僅需要查看當前開始的 log,需要清空之前的。adb logcat -c && adb logcat
5. 過濾 log 文件
有時需要分析 log 文件,過濾 log 文件還是使用 grep。例如 log 文件為 myapp.log,要匹配 tag 為 MyApp 和 MyActivity 的輸出,然後輸出到 newmyapp.log:cat myapp.log | grep "^..MyApp\|^..MyActivity" > newmyapp.log
Windows 下推薦使用 Notepad++,一個免費強大的記事本,支持正則表達式查找替換。可以高亮顯示匹配內容,也可以刪除不需要的內容。
以上的技巧主要用到了 grep,其實 logcat 本身也有過濾功能,可以根據 tag、優先順序過濾 log,具體請參考 Android 官方文檔 Reading and Writing Logs。如果喜歡使用圖形界面,請參考 Using DDMS,DDMS 裡面的 logcat 也可以同樣過濾。
⑹ 為什麼android studio 啟動後 logcat一直在輸出信息,該怎麼解決
那是因為 模擬器和手機一樣啟動後 有些進程是不斷運行的,你的logcat 信息是系統列印的log信息,所以會一直跑,,你也一新建一個logcat 以你的工程名命名的 ,這樣顯示的就是你項目的log輸出信息了。 滿意望採納 ,謝謝
⑺ android 中我在代碼中為了調試寫了system.out.print()輸出項,但是在控制台的什麼地方可以查看到這個輸出
1、進入android中,會看到圖示的system.out.print()輸出項。
⑻ 怎麼使用console輸出android控制台輸出信息的
在正常模式下,一般只能向console控制台輸出簡單的文字信息。但為了把信息輸出得更優雅更便於閱讀,除了cosole.log()方法外還可以調用 cosole.warn() 來輸出警告信息,在控制台中出來的效果如下:
在輸出信息前面會有一個帶感嘆號的黃色三角警告符號。似乎比一般的console信息要友好得多了。雖然圖標是黃色的,但輸出的文字仍然是黑色。
另外經常用到的是輸出錯誤信息。可以通過調用console.erro() 來實現。
輸出的效果如下:
信息前面會出現一個帶叉的紅色圓形圖標。
這個效果要比警告信息更友好了,字體顏色成紅色了。
要更牛叉莫過於對文字應用樣式。而現在這一特性已經在谷歌瀏覽器里實現了。
在Chrome的開發者工具里,console可以加樣式,可以顯示繽紛的顏色,甚至圖片。簡直爽翻了。
具體來說,是可以對輸出到console控制台的文字進行CSS控制。
格式如下:
console.log("%c需要輸出的信息","css代碼");
下面是console.log() API的官方文檔摘要。
⑼ android webview如何獲取網頁輸出的提示信息
1.android中利用webview調用網頁上的js代碼。
Android 中可以通過webview來實現和js的交互,在程序中調用js代碼,只需要將webview控制項的支持js的屬性設置為true,,然後通過loadUrl就可以直接進行調用,如下所示:
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("javascript:test()");
2. 網頁上調用android中java代碼的方法
在網頁中調用java代碼,需要在webview控制項中添加javascriptInterface。如下所示:
mWebView.addJavascriptInterface(new Object() {
public void clickOnAndroid() {
mHandler.post(new Runnable() {
public void run() {
Toast.makeText(Test.this, "測試調用java", Toast.LENGTH_LONG).show();
}
});
}
}, "demo");
在網頁中,只需要像調用js方法一樣,進行調用就可以
<div id='b'><a onclick="window.demo.clickOnAndroid()">b.c</a></div>
3. Java代碼調用js並傳參
首先需要帶參數的js函數,如function test(str),然後只需在調用js時傳入參數即可,如下所示:
mWebView.loadUrl("javascript:test('aa')");
4.Js中調用java函數並傳參
首先一樣需要帶參數的函數形式,但需注意此處的參數需要final類型,即得到以後不可修改,如果需要修改其中的值,可以先設置中間變數,然後進行修改。如下所示:
mWebView.addJavascriptInterface(new Object() {
public void clickOnAndroid(final int i) {
mHandler.post(new Runnable() {
public void run() {
int j = i;
j++;
Toast.makeText(Test.this, "測試調用java" + String.valueOf(j), Toast.LENGTH_LONG).show();
}
});
}
}, "demo");
然後在html頁面中,利用如下代碼<div id='b'><a onclick="window.demo.clickOnAndroid(2)">b.c</a></div>,
即可實現調用
⑽ android輸出日誌信息有什麼用,既然我們可以自己設定Log的級別,那輸出的級別顏色又有什麼參考價值啊
輸出Log信息,是為了方便我們查看,所以不同的顏色可以讓我們看得一目瞭然。
比如說基本信息,我用Log.i,而try catch中的出錯信息,我用Log.e,基本不用Log.d.
除了顏色還有一個好處就是,Log信息分級別,如果你點擊Log框右上角的I,會顯示I及I級別以上的W,E,如果點擊E,就只顯示紅色的E,找出錯點就方便多了。