Android 获取系统日志并保存到 SD 卡
要将 Android 系统日志打印到 SD 卡文件,您可以使用以下步骤:
- 在
AndroidManifest.xml文件中添加以下权限:
<uses-permission android:name='android.permission.READ_LOGS' />
<uses-permission android:name='android.permission.WRITE_EXTERNAL_STORAGE' />
- 在您的代码中,使用以下方法将系统日志写入到 SD 卡文件:
private void saveSystemLogsToSdCard() {
try {
// 获取系统日志文件路径
File logFile = new File(Environment.getExternalStorageDirectory(), 'system_logs.txt');
// 创建一个写入文件的输出流
FileOutputStream outputStream = new FileOutputStream(logFile);
// 获取系统日志的输入流
Process process = Runtime.getRuntime().exec('logcat -d');
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
// 逐行读取系统日志并写入到文件中
String line;
while ((line = bufferedReader.readLine()) != null) {
outputStream.write(line.getBytes());
outputStream.write('\n'.getBytes());
}
// 关闭输入输出流
bufferedReader.close();
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
- 调用
saveSystemLogsToSdCard()方法,即可将系统日志写入到 SD 卡中的 'system_logs.txt' 文件中。
请注意,这需要 READ_LOGS 权限才能读取系统日志,并且需要 WRITE_EXTERNAL_STORAGE 权限才能将日志写入到 SD 卡文件中。确保您在 AndroidManifest.xml 文件中添加了这些权限,并且在运行时已经获得了这些权限。
原文地址: https://www.cveoy.top/t/topic/qqUR 著作权归作者所有。请勿转载和采集!