Я хотел бы спросить, возможно ли сделать резервную копию и восстановить все настройки и приложения Android через ADB.
Я пытался:
adb backup -all
adb: unable to connect for backup
Не работает, а все остальные команды работают.
Можно ли использовать этот bmgr ?
Убедитесь, что отладка включена и устройство подключено. Кроме того, не забудьте нажать кнопку «Создать резервную копию моих данных» на самом устройстве (устройство требует подтверждения). Если вы не видите такого экрана на своем устройстве, вполне возможно, что вы используете телефон до ICS (< 4.0), в котором, к сожалению, не будет этой функции.
Кроме того, bmgr
это не решение для этого. Это инструмент для тестирования приложений, которые обрабатывают свои собственные резервные копии с использованием API резервного копирования , вручную запуская методы «резервного копирования» и «восстановления» в агенте резервного копирования в приложении, а не в обстреле устройства и копирование данных на/с машины разработки.
Вот моя команда для резервного копирования
./adb shell ls -l -a | grep '^[^l]' | sed -e 's/^d.* \([^ ]*\)\r$/mkdir sav\/\1; .\/adb pull \/\1 sav\/\1/' -e 's/-.* \([^ ]*\)\r$/.\/adb pull \/\1 sav\/\1/' | /bin/bash
Есть некоторые файлы, в которых мне отказано в разрешении, но, поскольку эта резервная копия сделана для рутирования устройства, я не могу получить больше разрешений :(
-p
параметр, mkdir
чтобы избежать некоторых сообщений об ошибках и удален ./
перед ./adb
):time adb shell ls -l -a | grep '^[^l]' | sed -e 's/^d.* \([^ ]*\)\r$/mkdir -p sav\/\1; adb pull \/\1 sav\/\1/' -e 's/-.* \([^ ]*\)\r$/adb pull \/\1 sav\/\1/' | /bin/bash
Если я вас правильно понял, эта ссылка может быть тем, что вы ищете. Обобщить:
1) Запустите adb devices
, чтобы убедиться, что ваше устройство подключено.
2) Запустите adb pull /data/app ./
, чтобы получить все APK приложения и поместить их в текущую папку.
а) Или запустить adb pull /system/sd/app ./
, чтобы получить приложения на SD-карте.
3) Настройки расположены в разных местах, так что узнайте где, а затем используйте ту же adb pull
команду, чтобы их захватить.
А дальше по ссылке подробно описано, как восстановить на основе Mac или Windows.
Кроме того, похоже, bmgr
что упомянутая вами команда также будет работать с несколькими простыми командами ( adb shell bmgr backup <package>
для резервного копирования и adb shell bmgr restore <package>
восстановления). Что еще вы ищете?
bmgr
команда является инструментом для разработчиков, позволяющим тестировать резервное копирование/восстановление приложений. На самом деле он не копирует никаких данных с устройства, поэтому вряд ли будет полезен.pull: building file list... 0 files pulled. 0 files skipped.
adb pull
не будете работать на нерутированных устройствах для личных данных приложения. И bmgr
предназначен только для управления резервным копированием в облаке Google.проблема, вероятно, связана с тем, что подключено более одного устройства/эмулятора.
проверьте adb devices
, показывает ли он более одного устройства, возможно, он не сможет подключиться specialy to emulators
.
запустите adb usb
, он перезапустит другие устройства, затем отсоедините/повторно подключите USB-кабель, теперь запустите
adb devices
он должен показывать только одно устройство.
теперь сделай
adb backup -all
и тебе должно быть хорошо идти :)
Обязательно запустите обновление SDK и, в частности, установите флажок для Google USB Drivers и обновите SDK.
После включения отладки по USB на вашем устройстве и подключения к компьютеру вы должны получить запрос на установку драйверов. Даже если он успешно откроет диспетчер устройств и найдет свой телефон, щелкните правой кнопкой мыши и обновите драйверы, укажите его в папке драйверов Google USB SDK > Extras > Google USB
и дайте ему обновить драйверы.
Затем вы сможете получить полные резервные копии с вашего устройства.
У меня есть GS4, который мне нужно было сделать резервную копию, и, к сожалению, я столкнулся с этой ошибкой. после небольшого царапания головы (и ругани) я нашел исправление, которое, я надеюсь, сработает для вас. Я смог найти это, просто запустив abd
и пролистав справочную документацию. Я обнаружил, что -d
это параметр, который «направляет команду на единственное подключенное USB-устройство». Итак, после подключения и пыхтения я заставил его работать на меня. Команда, которую я использовал, была:
adb -d backup -apk -shared -all -f C:\Users\NAME\backup.ab
Надеюсь, это сработает для кого-то с той же проблемой, что и у меня.
У меня была такая же проблема, и я тоже пре-ICS. Чтобы обойти это, я использовал ls /
и awk (с grep для пропуска ссылок) для создания пакетного файла, который извлекает каждый фактический каталог в каталог на моем ПК.
k3b
adb: unable to open file ./backup.ab
при выполненииadb backup -all
. находитadb devices
ваш андроид?салями
Ромуальд Брюне