Если ваше устройство работает под управлением Android v4 или выше, вы можете извлечь данные приложения, включая его базу данных, без root, используя команду adb backup
, затем извлечь файл резервной копии и получить доступ к базе данных sqlite.
Первое резервное копирование данных приложения на компьютер через USB-кабель с помощью следующей команды, замените app.package.name
на фактическое имя пакета приложения.
adb backup -f ~/data.ab -noapk app.package.name
Это предложит вам «разблокироватьустройство и подтвердите операцию резервного копирования ». Не указывайте пароль для резервного копирования , чтобы его можно было извлечь позже.Нажмите кнопку «Создать резервную копию моих данных» на вашем устройстве.На экране отобразится имя пакета, для которого вы выполняете резервное копирование, а затем закроется само собой после успешного завершения.
Полученный файл data.ab
в вашей домашней папке содержит данные приложения в формате резервной копии Android.Чтобы извлечь его, используйте следующую команду:
dd if=data.ab bs=1 skip=24 | openssl zlib -d | tar -xvf -
Если приведенное выше завершилось ошибкой openssl:Error: 'zlib' is an invalid command.
, попробуйте следующее.
dd if=data.ab bs=1 skip=24 | python -c "import zlib,sys;sys.stdout.write(zlib.decompress(sys.stdin.read()))" | tar -xvf -
В результате получается папка apps/app.package.name/
, содержащая приложениеданные, включая базу данных sqlite.
Более подробную информацию можно найти в оригинальном сообщении в блоге .