Несколько последовательных отдельных резервного копирования / восстановления ADB без запроса


8

Я изучал, как выполнять пакетное резервное копирование с помощью отдельных команд резервного копирования / восстановления adb (чтобы иметь отдельные файлы .ab для каждого пакета / приложения / данных / и т. Д.) (Мне известно о настольном приложении Helium (Carbon) в качестве опции для это - было бы интересно написать собственный сценарий для развлечения в любом случае).

Причина, по которой я хочу создавать отдельные .ab-файлы по сравнению с большими, заключается в том, что я хочу иметь возможность частичного резервного копирования / восстановления только для отдельных пакетов, и мне не нужно делать, например, 50 приложений одновременно.

Основным препятствием на данный момент является то, что каждый раз, когда происходит резервное копирование / восстановление, пользователь должен вводить данные при появлении запроса - есть ли способ обойти это, чтобы иметь возможность использовать резервное копирование / восстановление adb для нескольких отдельных пакетов через что-то вроде сценарий оболочки?

Спасибо!

Ответы:


2

Вы можете попробовать использовать adb shell input tap <x> <y>где x и y - это координаты места, куда вы хотите нажать на экране (показать координаты в настройках разработчика). Я смог использовать этот код для восстановления отдельной резервной копии:

#$1 is backup file

adb restore ${1} &
sleep 2
adb shell input touchscreen tap <x> <y>
wait

Я посчитал полезным поспать пару секунд после команды восстановления, но в этом нет необходимости.


1

Таким образом, может показаться, что у нас нет встроенного и (по крайней мере, на первый взгляд) способа сделать это.

Вместо этого это возможно с помощью adb shell sendeventкоманды - она ​​может эмулировать сенсорный ввод с компьютера с установленными инструментами adb (и любыми соответствующими драйверами) при условии, что телефон предоставил adb доступ к этой конкретной машине.

События могут быть записаны с использованием adb shell geteventи воспроизведены с adb shell sendevent. Затем пользователь может записывать нажатия кнопок принятия и сохранять сценарий, который их воспроизводит. Конечно, это приводит к таким проблемам, как, например, наложение экрана (например, в приложениях с красным смещением), предотвращающее нажатие кнопки, если что-то появляется (например, пузырь в чате и т. Д.), И любое другое количество препятствий, поэтому Обходной путь в лучшем случае.


0

это кажется особенно странным, но в этом ожидаемый Google злой путь. Из моего собственного неполного, но растущего понимания вещей - вы можете преобразовать файл восстановления в файл tar, изменив первые 24 байта. Тогда возникает вопрос: может ли простое извлечение tar определенным образом (временно перемонтировать что-либо или другое rw?) То же самое, что и восстановление adb? Конечно источник теоретически все там. Я планировал попробовать что-то в конце концов и посмотреть, работают ли они достаточно хорошо, чтобы оправдать недостаточную заботу, чтобы копаться в этом источнике. Да, это довольно дурацкий ответ, но он кажется полезным в качестве заполнителя до тех пор, пока его место не займет небольшой сценарий оболочки adb с вызовом tar или чем-то подобным, и это то, что я предполагаю в оригинальном вопроснике и хотел бы увидеть.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.