Получить базу данных SQLite из приложения Android

Мне нужно получить базу данных SQLite из приложения Android из устройства Genesis, где пользователь заселен вручную.

Как я могу создать другое приложение или любой другой способ получить этот db и сохранить на месте, где я могу получить?

Obs: устройство имеет корень

благодаря

Solutions Collecting From Web of "Получить базу данных SQLite из приложения Android"

Шаги от … / платформенных инструментов Android на cmd:

1) тип adb shell

2) run-as com.your.package

3) тип ls

 cache databases lib 

Вы можете найти здесь свою Database … Также вам не нужно было root устройство

Надеюсь, это поможет вам …

Если у вас есть устройство, прикрепленное к коробке с adb на PATH, вы можете использовать эту команду:

 adb -d shell 'run-as your.package.name.here cat /data/data/your.package.name.here/databases/your_db_name_here.sqlite > /sdcard/recovered_db.sqlite' 

Или вы можете использовать Ecliplse DDMS file explorer.

Попробовав десятки команд, которые не работали для меня в Marshmallow, я нашел этот файл, который работает (по крайней мере, для отладочных приложений):

 adb shell "run-as your.package.name cp /data/data/your.package.name/databases/you-db-name /sdcard/file_to_write" 

Затем вы просто можете просмотреть БД с помощью aSQLiteManager .

Вы можете использовать этот скрипт.

humpty.sh

Вы должны знать имя пакета приложения и имя базы данных sqlite. Вы можете проверить доступные базы данных.

 $ adb shell $ run-as <package-name> $ ls databases/ 

Сбрасывать базу данных или другой файл.

 ./humpty.sh -d <package-name> databases/<db-name> 

Вы можете либо включить библиотеку Stetho в ваше приложение,

http://facebook.github.io/stetho/

Который позволит вам получить доступ к вашей БД с помощью инструментов веб-отладки Chrome

Или используйте следующий сценарий оболочки:

 #!/bin/bash echo "Requesting data from Android" adb backup -f data.ab -noapk YOUR.APK.NAME echo "Decoding...." dd if=data.ab skip=24 iflag=skip_bytes | python -c "import zlib,sys;sys.stdout.write(zlib.decompress(sys.stdin.read()))" | tar -xvf - rm data.ab echo "Done" 

“ `

Ни один из вышеперечисленных методов не требует, чтобы ваше устройство было внедрено, и последнее работает даже в приложениях, которые вы сами не пишете, если ApplicationManifest.xml не содержит «backup = false»,