2017-06-01 169 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