Дополнительный совет для программного подхода:
String filePath = Environment.getExternalStorageDirectory() + "/logcat.txt";
Runtime.getRuntime().exec(new String[]{"logcat", "-f", filepath, "MyAppTAG:V", "*:S"});
Это открывает непрерывный поток вывода между logcat и предоставленным файлом.Это может привести к взаимоблокировке, если вы затем ждете Process, возвращенный exec, или исключению, если предоставленный файл преждевременно удален.
Я обнаружил, что включение флага "-d" просто сбрасывает logcat и закрывает соединение, что предотвращает вышеуказанное поведение.