簡體   English   中英

LogCat不在真實設備中顯示我自己的日志

[英]LogCat doesn't show my own logs in real device

我在Android Studio中幾乎沒有測試應用程序,但它與LogCat有關的行為卻很奇怪:例如,我有這樣的日志:

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.d(TAG, "onCreate(Bundle) called");
        ...

如果我嘗試在模擬器中啟動我的應用程序,則所有日志都可以正常工作。 但是,如果我嘗試在真實設備上啟動應用程序,則可以從設備上看到很多系統日志(例如,來自BatteryService),但是這里沒有我自己的日志。

我已啟用ADB集成,並且LogCat中的日志源選擇正確(我的設備)。

假設您已經激活了USB調試(否則將無法工作)。
打開logcat並按啟動按鈕。 並且隨着它進入您的設備,它應該可以正常工作。 現在,如果您使用的是Google雲端硬盤中的APK,則應用商店或其他任何地方都無法使用,因為那里沒有調試訪問權限。

如果您已完成上述操作,則可以嘗試以下方法:

如您所見,“日志級別”下拉菜單旁邊有一個搜索框。 搜索您的應用程序(以程序包名稱的格式),它將顯示出來。 從那里,您可以選擇一個日志級別(如果您願意)。 如果您沒有選擇日志級別並將其設置為“ verbose”,則將顯示所有日志以及所有類型的日志級別。

如果還是不行,我們可以definitivly的事實,它不是 USB調試相關的結論。 則可能是由於build.gradle文件,Android Manifest或代碼中的配置所致。 另外,以我的經驗,Proguard會阻止日志輸出,但是您只是從應用程序中獲取輸出。 因此,如果以上方法均無效,請檢查:

  • Android最低版本(根據您的應用可以處理的版本)
  • Android目標版本(與最新的當前API(目前為24)相比)
  • (在應用程序級別的build.gradle中相同)
  • Proguard開/關

最后,如果這些都不起作用,請下載ACRA並使用最簡單的后端(10行)轉換日志,當崩潰時,您會將日志以.txt格式保存在網站上。 這是一個艱難的解決方法,但至少您將能夠讀取任何崩潰信息。

檢查LogCatdropdown ,然后將選項更改為Debug或D。
正在將日志放入Log.d("TAG","MSG");

選項是

  1. 詳細
  2. 調試 您的日志將在這種情況下出現
  3. 信息
  4. 警告
  5. 錯誤
  6. 斷言

我發現了問題。 LogCat的異常行為是因為我的設備的API版本Android低於我的應用程序所需的API版本。

在您的Andorid設備上嘗試!

性能優化-高級日志輸出

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM