如何使用JellyBean读取带有-vtime选项的完整logcat行?

时间:2012-10-05 14:47:46

标签: logcat android-4.2-jelly-bean

我在ICS(4.0.3)上有一个使用logcat和-vtime选项的应用程序。 它使用以下代码读取logcat:

try {
  Process process = Runtime.getRuntime().exec("logcat -vtime -d");
  BufferedReader bufferedReader = new BufferedReader(
  new InputStreamReader(process.getInputStream()));
  String line = "";

  while ((line = bufferedReader.readLine()) != null) {
      ... my stuff with this line...
} 
catch (IOException e) {
}

我使用" android.permission.READ_CALL_LOG"和" android.permission.READ_LOGS"在我的清单文件中,我设法拥有完整的logcat。

当我在JellyBean(4.1.1)中使用此代码时,我的缓冲区只捕获我的应用程序logcat而不是完整的设备logcat。

我怎样才能拥有这个完整的logcat?这是另一种许可吗?

1 个答案:

答案 0 :(得分:0)

JellyBean(4.1.1)不授予第三方应用程序访问完整系统logcat的权限。应用程序只能看到自己的日志行。我认为您不再需要在AndroidManifest.xml中提供READ_LOGS权限(任何应用程序都可以使用logcat自己的行)。

https://groups.google.com/forum/?fromgroups=#!topic/android-developers/6U4A5irWang

如果您仍想阅读完整的logcat,则需要使用root设备并授予超级用户访问您的应用程序的权限。

相关问题