TL; DR :
Запустить команду через adb, которая копирует logcat и proc / kmsg в файл и поддерживает его работу, даже когда adb отключается с помощью nohup
, disown
или setsid
,Вероятно, требуется busybox, также нужны root и adb root.
setsid cat proc/kmsg > /sdcard/kmsg.txt &
и
logcat -v long -f /sdcard/logcat.txt
(как-то работает только без setsid
)
Или добавить обычные команды копирования в некоторые скрипт запуска .
/ TL; DR
Вы можете постоянно копировать proc/kmsg
и logcat
в файл на устройстве Android или на карту microSDчтобы получить логи даже после отключения adb.
Вам нужен root-доступ и adb root-доступ, чтобы это работало.В последнем случае используйте параметр в настройках разработчика, если у вас есть пользовательский диск или небезопасное приложение adbd .
После использования adb shell
для получения оболочки Android введите su
для получения доступа суперпользователя.
Тогда вам нужно не только поставить амперсанд (&
) после команды, но итакже убедитесь, что команда продолжает работать после отключения adb.Это делается с помощью nohup
, disown
или setsid
(см. здесь для использования).
Если это не работает, потому что у вас нет этих команд, вам необходимо установить busybox .
См. Мой вопрос здесь .
См. здесь для получения журналов logcat и ядра и печати их в некоторый файл.или слить это.См. Developer.android.com/tools/help/logcat.html параметры для команды logcat.
В конце вы можете получить команду типа setsid cat proc/kmsg > /sdcard/kmsg.txt &
для сообщений ядра.
Для logcat у вас может быть одна из следующих команд: logcat -v long -f /sdcard/logcat.txt
или logcat -v long > /sdcard/logcat.txt
Я не знаю почему, но иногда она не работает с setsid
и просто не копирует непрерывно, ноостановился вскоре после выполнения команды.В этих ситуациях он также обнаруживался при вводе jobs
, чего не было в противном случае.Тогда он просто работал без setsid
, он оставался в живых после отключения и повторного подключения.Я думаю, вы должны просто попробовать, когда файл продолжает увеличиваться.Если кто-то выяснил, почему он ведет себя так, как есть ... дайте мне знать, и я отредактирую ответ.
Возможно, добавление команд в сценарий запуска может быть решением и для некоторых..
Надеюсь, это поможет.
fightcookie