Как создать архив для удобного извлечения в /data/local/tmp/ в «оболочке adb»?

Обычные шаровые архивы не распаковываются из adb shell-за проблем с блокировкой каталога и временных файлов для документов HERE. Zip-архивы тоже не вариант .

Как мне сделать архив, который можно легко извлечь /data/local/tmp/из коробки на нерутированном Android без busybox?

Ответы (1)

Вы можете busyboxлегко установить его на нерутированный телефон Android. Шаги:

  • Возьмите файл busybox-androidиз одноименного проекта github .
  • Загрузите его на свое устройство с помощью scp, adb push, Android File Transfer и т. д. Поместите его в общедоступное место, к которому у вас будет доступ из сеанса эмулятора терминала. Просто позвони busybox.
  • Запустите сеанс эмулятора терминала. Создайте каталог ~/binи скопируйте busyboxфайл из общедоступного места, в которое вы его поместили, в этот новый каталог.
    • Поскольку cpкоманда недоступна в сеансе эмулятора терминала (!), сделайте это следующим образом:cat $PATH_TO_BUSYBOX/busybox > ~/bin/busybox
  • Теперь cd ~/binи создайте символическую ссылку: ln -s busybox tar.

Итак, теперь создайте архив с помощью tar czv $FILENAME $ROOT_OF_FILES_TO_ARCHIVE, перенесите его на свое устройство и извлеките с помощью tar xzv $FILENAME.

tarтакже доступен по умолчанию для sshсеансов, обслуживаемых SSHDroid (поскольку SSHDroid предоставляет busybox). Может надо зарегистрировать? Не помните, работает ли это в бесплатной версии.

Есть ли инструмент для создания самораспаковывающихся архивов для Android, чтобы можно было развернуть сложную структуру (например, Valgrind) одним /data/local/tmp/движением, без подготовительного этапа?
Если да, то он, скорее всего, будет использовать инструментарий POSIX, предоставленный busybox.
Это может быть shellscript+busybox+datafile в одном файле.
Хм. Как бы вы извлекли busybox из пакета без набора инструментов POSIX?
Пакет может начинаться с #!/system/bin/sh, который каким-то образом извлечет из него busybox, а затем вызовет busybox tar -xf.
Ну да. Но «каким-то образом» на самом деле является сутью вопроса. Я только что заметил, что ddэто доступно, так что это будет один из способов. Возможно, вам следует задать другой вопрос, чтобы узнать, нашел ли кто-нибудь такую ​​программу или пишет ее.
Также есть приложение , которое устанавливает busybox на нерутированный телефон. Хотя я предполагаю, что под «из коробки» вы подразумеваете «без установленных приложений».