1. 程式人生 > >“Android Studio 真機除錯時LogCat無顯示問題”的解決

“Android Studio 真機除錯時LogCat無顯示問題”的解決

使用 LogCat

Android 中的日誌工具類是 Log(android.util.Log),提供瞭如下的幾個方法供我們列印日誌。

Log.v() 對應 Verbose
Log.d() 對應 Debug
Log.i() 對應 Info
Log.w() 對應 Warn
Log.e() 對應 Error
Log.wtf() 在輸出日誌的同時,會把此處程式碼此時的執行路徑(呼叫棧)打印出來。
介紹完畢,我們來演戲一下吧。開啟 HelloWorldActivity,在 onCreat()方法中新增一行列印日誌的語句,為了讓日誌明顯一點我加了一些下劃線,如下所示:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hello_world);
Log.d(“HelloWorldActivity”,”_________onCreate execute_________

”);
}
Log.d() 方法中傳入了兩個引數,第一個引數是 tag,一般傳入當前的類名就好,主要用於對列印資訊進行過濾。第二個引數是 msg,即想要列印的具體內容。

現在重新執行一下專案,點選工具欄中的綠色小箭頭,或者按 Shift+F10。等程式執行完畢,使用模擬器的戰友可能已經能看到日誌了,如下圖

log

使用真機的戰友,可能看到的還是空蕩蕩的LogCat。需要做這麼一件事,選單欄 Tools → Android → Enable ADB Integration 把這個勾上,然後再次執行。

這次應該能看到日誌了吧?看看能不能找到我們想要打印出來日誌資訊。過濾器中一定要選中 app:com.xxxx.helloworld 哦。如果有日誌,但是找不到我們想要列印的日誌 HelloWorldActivity: _________onCreate execute_________

,那麼恭喜你,你用的真機貌似跟我的一樣比較高階,是不是有什麼黑科技。

我們來嘗試解決這個問題。

手機的開發人員選項打開了麼,其中的 USB 除錯打開了麼?搞定他們並重新執行,是否能找到我們的日誌?否,轉到 2。
日誌中是否有這樣 could not disable core file generation for pid 3963: Operation not permitted 的資訊麼? 是,轉到 3;否,那我也不知道怎麼搞,或者你可以把日誌貼到評論中我看看。
是華為手機麼?是,轉到 4;否,你可以參考 4 自己 Google Baidu 一下。
在撥號介面輸入:##2846579##

進入測試選單介面,然後
Project Menu → 後臺設定 → LOG設定
LOG 開關 → LOG 開啟 LOG 級別設定 → VERBOSE
Dump&Log → 全部選中
重啟手機,重啟 Android Studio。
PS:根據系統版本的不同,可能會有些許差異。
重啟完畢,開啟 Android Studio,執行專案,這下應該能找到我們的日誌了。如果還沒找到,對不起洗洗睡吧,我只能幫到這兒了。(或者你可以換個手機)