Jeśli na Twoim urządzeniu działa system Android v4 lub nowszy, możesz pobrać dane aplikacji, w tym bazę danych, bezadb backup
uprawnień roota, używając polecenia, a następnie wyodrębnić plik kopii zapasowej i uzyskać dostęp do bazy danych sqlite.
Najpierw wykonaj kopię zapasową danych aplikacji na komputerze za pomocą kabla USB za pomocą następującego polecenia, zastąp app.package.name
rzeczywistą nazwą pakietu aplikacji.
adb backup -f ~/data.ab -noapk app.package.name
Spowoduje to wyświetlenie monitu o „odblokowanie urządzenia i potwierdzenie operacji tworzenia kopii zapasowej”. Nie podawaj hasła do szyfrowania kopii zapasowej , aby móc je później wyodrębnić. Kliknij przycisk „Utwórz kopię zapasową moich danych” na swoim urządzeniu. Na ekranie zostanie wyświetlona nazwa pakietu, którego kopię zapasową tworzysz, a po pomyślnym zakończeniu zamknie się samoczynnie.
Plik wynikowy data.ab
w folderze domowym zawiera dane aplikacji w formacie kopii zapasowej systemu Android. Aby go wyodrębnić, użyj następującego polecenia:
dd if=data.ab bs=1 skip=24 | openssl zlib -d | tar -xvf -
Jeśli powyższe zakończyło się openssl:Error: 'zlib' is an invalid command.
błędem, wypróbuj poniższe.
dd if=data.ab bs=1 skip=24 | python -c "import zlib,sys;sys.stdout.write(zlib.decompress(sys.stdin.read()))" | tar -xvf -
Rezultatem jest apps/app.package.name/
folder zawierający dane aplikacji, w tym bazę danych sqlite.
Więcej informacji znajdziesz w oryginalnym poście na blogu .