如何通过应用程序过滤Android logcat输出?我需要这个,因为当我附加设备时,由于来自其他进程的垃圾邮件,我无法找到我想要的输出.
我想阅读并回应我的应用程序中的logcat日志.
我找到了以下代码:
try {
Process process = Runtime.getRuntime().exec("logcat -d");
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
StringBuilder log=new StringBuilder();
String line = "";
while ((line = bufferedReader.readLine()) != null) {
log.append(line);
}
TextView tv = (TextView)findViewById(R.id.textView1);
tv.setText(log.toString());
}
catch (IOException e) {}
Run Code Online (Sandbox Code Playgroud)
此代码确实返回在应用程序启动之前所做的logcat日志 -
但是有可能连续监听甚至新的logcat日志吗?
在我的logcat中输出太多,所以我想用一些关键字过滤它,基本上只显示包含关键字的输出.有没有办法通过UI在Android Studio中执行此操作?
我正在编写一个脚本,我需要提供我的应用程序的PID.我可以通过以下命令列出所有进程及其PID,并可以看到我的应用程序的条目.
adb shell ps
这给了我一个巨大的进程列表.我需要一个条目(我可以进一步提供给另一个命令),所以我想用包名过滤这个结果.grep命令在我的Windows机器上不起作用.也尝试了以下命令,但它没有帮助.
adb shell ps name:my_app_package
在我的Eclipse logcat中将ICS升级到Android 4.0.3后,为什么应用程序(包名称)仍然是空白的?
据我所知,它是日志的重要部分,不应该从Android 4.0.3中删除.

似乎这个问题只出现在Android 4.0.3上运行的三星Galaxy S上,因为我在我的模拟器(4.0,4.0.3和4.1)以及谷歌Nexus(运行4.0.5)上获得了包信息.
那么我们有什么方法可以从Logcat看到或获得一个应用程序的唯一标识符(除了包名称)?
是否也可以在每一行显示Log的包名?
运用
logcat -v long
确切地将包名称字段(在PID之后)留空.
我想从具有不同标签的特定应用程序中过滤日志,只是想知道是否可能.
在Eclipse上用Java开发的Android(4.2.2)应用程序,我遇到了崩溃,但我无法弄清楚代码中是什么导致它...
堆栈跟踪不引用任何我自己的源代码...
线程[<1> main](Suspended(异常RuntimeException))
ActivityThread.performLaunchActivity(ActivityThread $ ActivityClientRecord,Intent)行:2255
ActivityThread.handleLaunchActivity(ActivityThread $ ActivityClientRecord,Intent)行:2309 ActivityThread.access $ 700(ActivityThread,ActivityThread $ ActivityClientRecord ,Intent)行:157
ActivityThread $ H.handleMessage(消息)行:1289
ActivityThread $ H(Handler).dispatchMessage(消息)行:99 Looper.loop()行:176 ActivityThread.main(String [])行:5317
Method.invokeNative(Object,Object [],Class,Class [],Class,int,boolean)line:not available [native method] Method.invoke(Object,Object ...)行:511 ZygoteInit $ MethodAndArgsCaller.run( )行:1102 ZygoteInit.main(String [])行:869 NativeStart.main(String [])行:不可用[native method]
...我在我的应用程序中启动了几个活动,并且所有这些活动都包含在try/catch中,但是如果我在catch块中设置了断点,那么它们就不会被击中,如果我跳过启动活动的代码,似乎没有什么似乎不妥.系统也没有向Logcat写任何异常(在Logcat上没有过滤器,完整的详细输出).
点击上面的行就会给我"找不到来源".有没有办法看到它试图启动的Activity或异常的性质是什么?
我在windows系统上打开一个cmd,然后输入" adb shell am instrument -w com.demo.uia.test/android.support.test.runner.AndroidJUnitRunner"运行android测试.
我想在运行测试时在cmd中打印日志,有谁能告诉我如何编写代码来打印日志?我已经绑system.out.println("xx")和Log.i("xx","xx"),但它是无用的.
我想在cmd行中显示日志,而不是在logcat中.我现在解决了这个问题,使用sendStatus api.
我想为我的应用程序开发一个日志框架工作.我想要实现的目标是
首先我想知道这可能吗?我想通过使用服务我们实现了这一点.如果我错了请纠正我
我推荐这个项目来实现我的需求https://github.com/androidnerds/logger
在这个项目中,他们使用AIDL来创建一个记录日志的服务.但只有在意图出现时才会保存文件.
说真的,我是这个AIDL流程的新手.令我困惑的一点是示例项目没有给清单中的任何权限写入文件到存储.但它能够做到这一点.他们是如何实现的?
即使我经历过这些问题
但没有什么对我有用.所以请建议一种方法来实现这一目标
我正在尝试在Android Studio 2.2.2中使用LogCat进行一些调试,但我的Logcat运行起来就像一个firehose而且内容太多了.
在选择LogCat选项卡的Android监视器中,有一个下拉列表,其中一个选项是" 仅显示选定的应用程序 ",所以我选择了它,但似乎没有任何效果.即使我从调试目标断开连接,我的LogCat也像firehose一样运行.那么" 只显示选定的应用程序 "做了什么,如何判断"选定的应用程序"是什么?