Если ваше устройство работает под управлением 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.
Для получения дополнительной информации вы можете проверить исходное сообщение в блоге .