Не могу создать файл журнала через оболочку adb - PullRequest
0 голосов
/ 23 ноября 2018

Мой рабочий каталог - /data/local/tmp.

. Я создаю и помещаю сюда файл сценария оболочки с именем get_meminfo.sh.

. Основная функция - записывать использование RSS и сохранять какфайл журнала, например: rss_res >> rss.log

Но теперь я нахожу проблему: я могу запустить файл сценария при входе в оболочку Android, например ./get_meminfo.sh, и я вижу файл журналасоздан по пути.

Однако, когда я пытаюсь запустить его из adb, например: adb shell /data/local/tmp/get_meminfo.sh ,, появляется сообщение об ошибке: невозможно создать файл, файловая система только для чтения!

1 Ответ

0 голосов
/ 24 ноября 2018

Похоже, вы не совсем понимаете концепцию текущей рабочей директории .

Команда rss_res >> rss.log создает rss.log в текущей рабочейdirtectory.Который в случае следующей последовательности команд равен /data/local/tmp:

adb shell
cd /data/local/tmp
./get_meminfo.sh

Итак, rss.log создается в /data/local/tmp, доступном для записи в мире.

Но в случае adb shell /data/local/tmp/get_meminfo.sh cwd - это папка / root .Который недоступен для записи, и команда не выполняется.

Самый простой способ смягчить это - использовать абсолютный путь к вашему файлу журнала внутри скрипта, как это rss_res >> /data/local/tmp/rss.log

...