2014-09-24 2 views
0

Я не могу просмотреть или вытащить файл базы данных SQLite, созданный приложением на моем устройстве.Невозможно просмотреть или вытащить базу данных SQLite с устройства

Вот как я попытался вытащить его с помощью АБР

E:\>adb pull /data/data/com.example.testinglist/databases/timetracker.db failed to copy '/data/data/com.example.testinglist/databases/timetracker.db' to './timetracker.db': **Permission denied**

Как вы можете видеть, что есть разрешение отказано ошибка.

Я не могу просмотреть или скопировать файл с помощью FileExplorer в Eclipse ADT. Только данные папки могут быть скопированы как неспособные перемещаться в папке в FileExplorer. и папка Данные, скопированные на компьютер с помощью FileExplorer, пустые. Любые решения, пожалуйста? enter image description here

+1

Устройство должно быть укоренены, чтобы увидеть внутри 'data' папку. – SilentKiller

+0

Если вы попытаетесь вытащить БД из реального физического устройства, тогда это невозможно. Вместо того, чтобы экспортировать DB в SDCard ... –

+0

вы также можете экспортировать его на свой компьютер. –

ответ

0

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

try { 
    File dstDb = new File(dstPathOnSdcard, dstFileName); 
    FileOutputStream output = new FileOutputStream(dstDb); 

    File srcDb = new File(Environment.getDataDirectory(), "//data//com.mynamespace.myapp//databases//mydatabasename.db"); 
    FileInputStream input = new FileInputStream(srcDb); 

    FileChannel src = input.getChannel(); 
    WritableByteChannel dst = Channels.newChannel(output); 

    src.transferTo(0, src.size(), dst); 

    src.close(); 
    input.close(); 
    dst.close(); 
    output.close(); 
} 
catch (Exception e) { 
    // doSomething 
} 
Смежные вопросы