bmgr Оболочка для Backup Manager Тип файла: приложение usage: bmgr [--user <userId>] [backup|restore|list|transport|run] bmgr backup PACKAGE bmgr enable BOOL bmgr enabled bmgr list transports [-c] bmgr list sets bmgr transport WHICH|-c WHICH_COMPONENT bmgr restore TOKEN bmgr restore TOKEN PACKAGE... bmgr run bmgr wipe TRANSPORT PACKAGE bmgr fullbackup PACKAGE... bmgr backupnow [--monitor|--monitor-verbose] --all|PACKAGE... bmgr cancel backups bmgr init TRANSPORT... bmgr activate BOOL bmgr activated bmgr autorestore BOOL The '--user' option specifies the user on which the operation is run. It must be the first argument before the operation. The default value is 0 which is the system user. The 'backup' command schedules a backup pass for the named package. Note that the backup pass will effectively be a no-op if the package does not actually have changed data to store. The 'enable' command enables or disables the entire backup mechanism. If the argument is 'true' it will be enabled, otherwise it will be disabled. When disabled, neither backup or restore operations will be performed. The 'enabled' command reports the current enabled/disabled state of the backup mechanism. The 'list transports' command reports the names of the backup transports BackupManager is currently bound to. These names can be passed as arguments to the 'transport' and 'wipe' commands. The currently active transport is indicated with a '*' character. If -c flag is used, all available transport components on the device are listed. These can be used with the component variant of 'transport' command. The 'list sets' command reports the token and name of each restore set available to the device via the currently active transport. The 'transport' command designates the named transport as the currently active one. This setting is persistent across reboots. If -c flag is specified, the following string is treated as a component name. The 'restore' command when given just a restore token initiates a full-system restore operation from the currently active transport. It will deliver the restore set designated by the TOKEN argument to each application that had contributed data to that restore set. The 'restore' command when given a token and one or more package names initiates a restore operation of just those given packages from the restore set designated by the TOKEN argument. It is effectively the same as the 'restore' operation supplying only a token, but applies a filter to the set of applications to be restored. The 'run' command causes any scheduled backup operation to be initiated immediately, without the usual waiting period for batching together data changes. The 'wipe' command causes all backed-up data for the given package to be erased from the given transport's storage. The next backup operation that the given application performs will rewrite its entire data set. Transport names to use here are those reported by 'list transports'. The 'fullbackup' command induces a full-data stream backup for one or more packages. The data is sent via the currently active transport. The 'backupnow' command runs an immediate backup for one or more packages. Комментарии с Backup Manager на устройствах Android версии 2.2 (API уровня 8) или выше. Инструмент предоставляет команды для запуска операций резервного копирования и восстановления, поэтому вам не нужно повторно стирать данные или предпринимать аналогичные навязчивые действия для проверки функций резервного копирования вашего приложения. Инструмент bmgr поддерживает как автоматическое резервное копирование, так и резервное копирование ключей/значений. Примечание: bmgr restore не работает для зашифрованных резервных копий . Вы запускаете команды bmgr на устройстве через оболочку adb, а затем отслеживаете вывод команд с помощью logcat. Чтобы просмотреть список и описание доступных команд, запустите инструмент bmgr без аргументов. Сведения о запуске операций резервного копирования и восстановления см. в разделе Тестирование резервного копирования и восстановления . Информацию о добавлении поддержки резервного копирования в ваше приложение см. в разделе Резервное копирование данных. --------------------------- Резервное копирование данных bmgr — это инструмент оболочки, который вы можете использовать для взаимодействия с Backup Manager на устройствах Android, поддерживающих уровень API 8 или выше. Он предоставляет команды для запуска операций резервного копирования и восстановления, поэтому вам не нужно повторно стирать данные или предпринимать аналогичные навязчивые действия для тестирования агента резервного копирования вашего приложения. Доступ к этим командам осуществляется через оболочку adb. ОПЕРАЦИЯ РЕЗЕРВНОГО КОПИРОВАНИЯ Обычно ваше приложение должно уведомлять Backup Manager об изменении своих данных с помощью dataChanged(). Менеджер резервного копирования вызовет реализацию onBackup() вашего агента резервного копирования в будущем. Однако вместо вызова dataChanged() вы можете вызвать запрос на резервное копирование из командной строки, выполнив команду резервного копирования bmgr: bmgr backup <package> <package> — это официальное имя пакета приложения, резервное копирование которого вы хотите запланировать. Когда вы выполняете эту команду резервного копирования, агент резервного копирования вашего приложения будет вызван для выполнения операции резервного копирования в будущем (через ваш метод onBackup()), хотя нет никакой гарантии, когда это произойдет. Однако вы можете принудительно запустить все ожидающие операции резервного копирования с помощью команды запуска bmgr: bmgr run Это приводит к немедленному выполнению прохода резервного копирования, вызывая агенты резервного копирования всех приложений, которые ранее вызывали dataChanged() с момента последней операции резервного копирования, а также любые приложения, резервное копирование которых было запланировано вручную с помощью резервного копирования bmgr. ОПЕРАЦИЯ ВОССТАНОВЛЕНИЯ В отличие от операций резервного копирования, которые объединяются в пакеты и запускаются время от времени, операции восстановления выполняются немедленно. В настоящее время Backup Manager поддерживает два вида операций восстановления. Первый тип восстанавливает все устройство с данными, для которых была сделана резервная копия. Обычно это выполняется только при первой подготовке устройства (для репликации настроек и другого сохраненного состояния с предыдущего устройства пользователя) и является операцией, которую может выполнять только система. Второй тип операции восстановления восстанавливает отдельное приложение в его «активный» набор данных; то есть приложение откажется от своих текущих данных и вернется к последним известным исправным данным, которые хранятся в текущем образе резервной копии. Вы можете вызвать эту вторую операцию восстановления с помощью метода requestRestore(). Затем диспетчер резервного копирования вызовет реализацию onRestore() вашего агента резервного копирования. Во время тестирования вашего приложения вы можете немедленно вызвать операцию восстановления (в обход метода requestRestore()) для вашего приложения с помощью команды восстановления bmgr: bmgr restore <package> <package> — это формальное имя пакета в стиле Java для приложения, участвующего в механизме резервного копирования/восстановления, которое вы хотите восстановить. Менеджер резервного копирования немедленно создаст экземпляр агента резервного копирования приложения и вызовет его для восстановления. Это произойдет, даже если ваше приложение в данный момент не запущено. СТИРАНИЕ ДАННЫХ Данные для одного приложения могут быть удалены из активного набора данных по требованию. Это очень полезно при разработке агента резервного копирования на тот случай, если ошибки приведут к записи поврежденных данных или сохраненной информации о состоянии. Вы можете стереть данные приложения с помощью команды bmgr wipe: bmgr wipe <package> <package> — это официальное имя пакета приложения, данные которого вы хотите стереть. Следующая операция резервного копирования, которую обрабатывает агент приложения, будет выглядеть так, как будто приложение никогда раньше не создавало резервных копий. ВКЛЮЧЕНИЕ И ОТКЛЮЧЕНИЕ РЕЗЕРВНОГО КОПИРОВАНИЯ Проверить, работает ли вообще Backup Manager, можно с помощью команды: bmgr enable Это может быть полезно, если агент резервного копирования вашего приложения никогда не вызывается для резервного копирования, чтобы проверить, считает ли операционная система, что она вообще должна выполнять такие операции. Вы также можете напрямую отключить или включить диспетчер резервного копирования с помощью этой команды: bmgr enable <boolean> <boolean> может быть либо истинным, либо ложным. Это эквивалентно отключению или включению резервного копирования в основном пользовательском интерфейсе настроек устройства. Предупреждение! Когда резервное копирование отключено, текущий транспорт резервного копирования явно удалит весь активный набор данных из внутреннего хранилища. Это делается для того, чтобы, когда пользователь говорит, что не хочет создавать резервные копии своих данных, диспетчер резервного копирования уважает это желание. Никакие дальнейшие данные не будут сохранены с устройства, и никакие операции восстановления не будут возможны, если не будет повторно включен диспетчер резервного копирования (либо через настройки, либо с помощью приведенной выше команды bmgr). |