Nếu thiết bị của bạn đang chạy Android v4 trở lên, bạn có thể lấy dữ liệu ứng dụng, bao gồm cả cơ sở dữ liệu, mà không cần root bằng cách sử dụng adb backup
lệnh, sau đó giải nén tệp sao lưu và truy cập cơ sở dữ liệu sqlite.
Lần đầu tiên sao lưu dữ liệu ứng dụng vào PC của bạn qua cáp USB bằng lệnh sau, thay thế app.package.name
bằng tên gói thực của ứng dụng.
adb backup -f ~/data.ab -noapk app.package.name
Thao tác này sẽ nhắc bạn "mở khóa thiết bị của bạn và xác nhận thao tác sao lưu". Không cung cấp mật khẩu để mã hóa sao lưu để bạn có thể giải nén nó sau này. Nhấp vào nút "Sao lưu dữ liệu của tôi" trên thiết bị của bạn. Màn hình sẽ hiển thị tên của gói bạn đang sao lưu, sau đó tự đóng lại khi hoàn tất thành công.
Tệp kết quả data.ab
trong thư mục chính của bạn chứa dữ liệu ứng dụng ở định dạng sao lưu android. Để giải nén nó, hãy sử dụng lệnh sau:
dd if=data.ab bs=1 skip=24 | openssl zlib -d | tar -xvf -
Nếu phần trên kết thúc bằng openssl:Error: 'zlib' is an invalid command.
lỗi, hãy thử phần bên dưới.
dd if=data.ab bs=1 skip=24 | python -c "import zlib,sys;sys.stdout.write(zlib.decompress(sys.stdin.read()))" | tar -xvf -
Kết quả là apps/app.package.name/
thư mục chứa dữ liệu ứng dụng, bao gồm cả cơ sở dữ liệu sqlite.
Để biết thêm chi tiết, bạn có thể kiểm tra bài đăng blog gốc .