Estou trabalhando em um aplicativo Android que armazena dados em um banco de dados SQLite. Minha pergunta é: onde esse arquivo de banco de dados é armazenado no sistema de arquivos quando você está usando um emulador?
Eu vi que está armazenado em
/data/data/package_name/databases
mas preciso saber para onde no disco rígido da minha máquina local isso realmente mapeia. O banco de dados persiste em múltiplas execuções do emulador, mesmo depois de desligar a máquina, então não pode ficar apenas na RAM ...
adb pull
(mesmo com o caminho exato !), Se você não for root .adb pull /data/data/com.activeandroid.test/databases/Application.db ~/Development/Application.db
Uma atualização mencionada nos comentários abaixo:
Ou você pode tentar a abordagem antiga:
Abra a perspectiva DDMS em seu Eclipse IDE
( Janela> Abrir Perspectiva> Outro> DDMS )
e o mais importante:
SEU APLICATIVO DEVE ESTAR EXECUTANDO PARA QUE VOCÊ POSSA VER A HIERARQUIA DE PASTAS E ARQUIVOS .
Em seguida, na guia File Explorer, você seguirá o caminho:
dados> dados> seu-nome-do-pacote> bancos de dados> seu-arquivo-de-banco de dados .
Em seguida, selecione o arquivo, clique no ícone do disquete no canto direito da tela para baixar o arquivo .db . Se você deseja fazer upload de um arquivo de banco de dados para o emulador, pode clicar no ícone do telefone (ao lado do ícone do disquete) e escolher o arquivo a ser carregado.
Se você deseja ver o conteúdo do arquivo .db , aconselho a usar o SQLite Database Browser, que pode ser baixado aqui .
PS: Se você quiser ver o banco de dados de um dispositivo real, você deve fazer o root em seu telefone.
fonte
Failed to pull selection
(null)
As outras respostas estão seriamente desatualizadas. Com o Android Studio , esta é a maneira de fazer isso:
fonte
No Android Studio 3.4.1, você pode usar o recurso de pesquisa do Android Studio para encontrar o "Device File Explorer" e ir para o diretório / data / data / package_name / database do seu emulador.
fonte
Eu escrevi um script bash simples, que puxa o banco de dados do dispositivo Android para o seu computador (usuários de Linux, Mac)
nome do arquivo: android_db_move.sh uso: android_db_move.sh com.example.app db_name.db
fonte
Já que a questão não se restringe ao Android Studio, estou dando o caminho para o Visual Studio 2015 (funcionou para o Xamarin).
Agradecimentos especiais a outras pessoas que responderam a esta pergunta.
fonte
Os bancos de dados são armazenados como arquivos SQLite em / data / data / PACKAGE / databases / DATABASEFILE onde:
Você pode ver (copiar de / para o sistema de arquivos) o arquivo de banco de dados no emulador selecionando a perspectiva DDMS , na guia Explorador de Arquivos.
fonte
Solução simples - funciona tanto para emulador quanto para dispositivos conectados
1 Veja a lista de dispositivos / emuladores disponíveis atualmente.
2 Execute o backup em seu dispositivo / emulador
3 Extraia data.ab
Você encontrará o banco de dados na
/db
pastafonte
$ dd if=data.ab bs=1 skip=24 | python -c "import zlib,sys;sys.stdout.write(zlib.decompress(sys.stdin.read()))" | tar -xvf -
bash: adb: command not found
de acordo com os documentos do Android , o Monitor foi descontinuado no Android Studio 3.1 e removido do Android Studio 3.2. Para acessar os arquivos, há uma guia no Android Studio chamada "Device File Explorer", no lado inferior direito da janela de desenvolvimento, na qual você pode acessar o sistema de arquivos do emulador. Apenas siga
/ data / data / package_name / databases
boa sorte.
fonte
Para Android Studio 3.5, encontre-o usando as instruções aqui: https://developer.android.com/studio/debug/device-file-explorer (Exibir -> Janelas de ferramentas -> Explorador de arquivos do dispositivo -> -> bancos de dados
fonte