【问题标题】:Runtime.getRuntime().exec("logcat -d") returns nullRuntime.getRuntime().exec("logcat -d") 返回 null
【发布时间】:2014-11-18 09:26:22
【问题描述】:

我正在尝试获取我的应用程序的日志。 Android 4.1.2(华为平板)

这是我正在使用的代码

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


            String line;  
            while ((line = bufferedReader.readLine()) != null) {                

              log.append(line); 
              log.append(System.getProperty("line.separator"));
            }  
            System.out.println(line == null);

          } catch (IOException e) { 
             System.out.println("error");
              e.printStackTrace();
          }  

我已将其他权限添加到清单

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

当我尝试读取它时,bufferedReader 为 null,并且没有任何内容添加到 log 变量中。

编辑:

我已经建立了这个信息

INFO

显然华为设备默认禁用服务登录。我已经尝试了帖子的解决方案,但它对我不起作用,因为“服务登录”选项没有出现

有人可以帮我吗?

谢谢

【问题讨论】:

  • 看看这个项目github.com/androidnerds/logger
  • 我已经在我的设备上尝试了该项目,但它没有启动。它在启动时意外关闭
  • 我已在初始消息中添加了信息

标签: android logcat


【解决方案1】:
untime.getRuntime().exec(new String[]{"logcat", "-d"})

【讨论】:

    猜你喜欢
    • 2013-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-09
    • 2015-08-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多