问题描述
- 如何访问移动设备上的logcat文件
-
使用程序如何在移动设备上如何访问和读取 "/system/bin/logcat"中的logcat文件?我的手机没有获得root权限。
我需要设置一个超级用户访问权限吗?
解决方案
你可以从你的应用程序中阅读这段代码
ArrayList<String> commandLine = new ArrayList<String>();
commandLine.add("logcat"); //$NON-NLS-1$
commandLine.add("-d"); //$NON-NLS-1$
ArrayList<String> arguments =
((params != null) && (params.length > 0)) ? params[0] : null;
if (null != arguments) {
commandLine.addAll(arguments);
}
Process process = Runtime.getRuntime().exec(commandLine.toArray(new String[0]));
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()), 1024);
bufferedReader.readLine()
在一个字符串中存储 bufferedReader,检查logs。
在manifest文件中添加许可:
<uses-permission android:name="android.permission.READ_LOGS"/>
解决方案二:
Runtime.getRuntime().exec("adb logcat");
解决方案三:
你是在哪一层去读取的呢?在应用层无论是啥类型的应用都是读取不到的,在frameworks层中就不知道,没有试过,可以试下。如查frameworks可以读取到那就可以传出来啦……
时间: 2024-12-21 19:45:13