2017-06-01 170 views
0

我正在將一個桌面應用程序的系統作爲一個包含在應用程序中的jar移植到android上。將system.out重定向到logcat

有沒有辦法使用system.out.println(存在於jar中)並查看它們是否記錄在logcat(或其他任何地方)?

我目前正在eclipse上使用adb在真實設備上進行調試,並且我正確地在logcat控制檯中看到設備日誌,但沒有看到標準輸出。

+0

你爲什麼要用'system.out.println'?您可以使用'Log.d('日誌條目','一些日誌條目描述或事件')' – ImAtWar

+0

我包括我用於桌面應用程序(並沒有android的構建路徑)的java代碼,我需要調試如何代碼在Android設備上運行,所以我需要在該jar中system.out的結果。 – Yggdrasil

+0

顯然所有'System.out.println'調用都在android中丟失。 https://stackoverflow.com/questions/2220547/why-doesnt-system-out-println-work-in-android – ImAtWar

回答

0

請參閱this的問題。基本上沒有。要登錄Android,您必須使用日誌。 Log.i,Log.d,Log.v等等。您可以使用幾種不同的日誌,並通過Android監視器中的篩選。您必須手動將您的System.out.println轉換爲日誌。

但是你可以用RegEx替換它們。

1)不確定在Eclipse中,但使用熱鍵進入'全部替換文件路徑'窗口(在Android Studio中按Ctrl + Shift + r)。

2)確認正則表達式(正則表達式)開啓

3)在 '​​查找' 字段,只需要輸入

system.out.println\(

4)代替

Log\.d("TAG", 

你應該很好去。

+0

haw ..所以它沒有。我也將改變e.printStackTrace(到Log.e(APP_TAG,Log.getStackTraceString(e)),並在每個項目的構建路徑中包括android,我猜...然後切換回它是如何...每個時間... – Yggdrasil