Android 为什么进程在测试运行程序类中提供空inputstream?

Android 为什么进程在测试运行程序类中提供空inputstream?,android,process,test-project,Android,Process,Test Project,在我的android测试项目中,我只是使用adb命令读取logcat 像 但是,在字符串行中,我总是得到空值 而同样的东西总是在android活动的onCreate中运行。 我不明白为什么会这样 同样的东西在活动类中运行,而不是在android测试项目中 我还为测试项目的日志中的READ_日志和WRITE_外部存储添加了使用权限 manifest.xml文件 有没有人知道它是如何工作的或发生了什么 提前谢谢 String []baseCommand = new String[]{"logcat"

在我的android测试项目中,我只是使用adb命令读取logcat

但是,在字符串行中,我总是得到空值

而同样的东西总是在android活动的onCreate中运行。 我不明白为什么会这样

同样的东西在活动类中运行,而不是在android测试项目中

我还为测试项目的日志中的READ_日志和WRITE_外部存储添加了使用权限 manifest.xml文件

有没有人知道它是如何工作的或发生了什么

提前谢谢

String []baseCommand = new String[]{"logcat", "-v","time"}; 
Process logReaderProcess = Runtime.getRuntime().exec(baseCommand);
尝试此操作

尝试添加

    <uses-permission android:name="android.permission.READ_LOGS" />

到您的清单。

您不想要输出流吗?您的意思是您没有记录任何内容吗?我强烈建议您在异常处理程序中添加一条日志语句…@Jon Skeet-感谢您的回复,我正在从logcat获取值。使用上面的命令,现在当我在android活动中输入相同的内容时,它会从ActivityManager的logcat标记中为我提供完整的值,同样的内容在android测试项目中返回空值。我不明白发生了什么。@user370305:也许logcat在测试项目中根本不起作用?也许还有其他方法可以在测试中获取日志信息?@Jon Skeet-我不知道是否有其他方法可用,我还注意到只有logcat才有这种情况。但是我们可以打印测试项目中的日志消息,那么为什么我们不能访问以进行读取?正确阅读我提到的问题,我添加了读取日志权限。
    <uses-permission android:name="android.permission.READ_LOGS" />