Ver o conteúdo do arquivo de banco de dados no Android Studio

250

Estou usando o Android Studio para desenvolver meu aplicativo desde que foi lançado.

Tudo funciona bem até recentemente, eu tenho que depurar junto com a verificação do arquivo de banco de dados. Como não sei ver o banco de dados diretamente, quando depurei para gerar o arquivo do banco de dados, tenho que exportá-lo do meu telefone para o PC.

Para fazer isso, eu tenho que abrir DDMS > File Explorer. Depois de abrir o DDMS, tenho que reconectar o USB e perco meu thread de depuração. Depois de verificar o arquivo do banco de dados, eu tenho que fechar o DDMS e reconectar o USB novamente para voltar ao modo de depuração.

É muito complicado. Alguém tem uma maneira melhor de fazer isso no Android Studio (eu sei que é mais fácil no Eclipse)?

Scott Zhu
fonte

Respostas:

302

Visualizando bancos de dados do Android Studio:

Editar: para visualizar seu banco de dados em um emulador, siga estas etapas (para o dispositivo real, role para a parte inferior):

  1. Baixe e instale o SQLiteBrowser .

  2. Copie o banco de dados do dispositivo para o seu PC:

    • Versões do Android Studio <3.0 :

      • Abra DDMS viaTools > Android > Android Device Monitor

      • Clique no seu dispositivo à esquerda.
        Você deve ver seu aplicativo: insira a descrição da imagem aqui

      • Vá para o File Explorer (uma das guias à direita), vá para/data/data/databases insira a descrição da imagem aqui

      • Selecione o banco de dados clicando nele.

      • Vá para o canto superior direito da janela do Android Device Monitor. Clique no botão ' puxar um arquivo do dispositivo ': insira a descrição da imagem aqui

      • Uma janela será aberta perguntando onde você deseja salvar seu arquivo de banco de dados. Salve-o onde quiser no seu PC.

    • Versões do Android Studio> = 3.0 :

      • Abra o Explorador de arquivos do dispositivo viaView > Tool Windows > Device File Explorer

      • Vá para data > data > PACKAGE_NAME > databaseonde PACKAGE_NAME é o nome do seu pacote (é com.Movie no exemplo acima)

      • Clique com o botão direito do mouse no banco de dados e selecione Save As.... Salve-o onde quiser no seu PC.

  3. Agora, abra o SQLiteBrowser que você instalou. Clique em ' abrir banco de dados ', navegue até o local em que você salvou o arquivo do banco de dados e abra . Agora você pode visualizar o conteúdo do seu banco de dados.


Para visualizar seu banco de dados no seu dispositivo móvel:

Vá para este repositório do Github e siga as instruções no leia-me para poder visualizar seu banco de dados no seu dispositivo. O que você recebe é algo como isto:

insira a descrição da imagem aqui

É isso aí. Escusado será dizer, no entanto, que você deve desfazer todas essas etapas antes de publicar seu aplicativo.

Ojonugwa Jude Ochalifu
fonte
2
essa é para mim a resposta correta, porque a dica com a ferramenta sqlitebrowser é impressionante. Obrigado
Manu Zi
26
/ data não se expande no explorador de arquivos do Monitor de dispositivos, acho que é inacessível, pois listar entradas do diretório / data ou / data / data requer acesso do superusuário. Ainda consigo acessar meus arquivos de banco de dados por meio do shell adb com privilégios su. Tem alguma idéia de como obter acesso su no gerenciador de arquivos?
Saravanabalagi Ramachandran
2
@ZekeDran, sim, o método mostra apenas dados de um emulador que não é o seu dispositivo.Também adicionei etapas para visualizar o banco de dados no seu dispositivo.Verifique a edição
Ojonugwa Jude Ochalifu
11
Funciona, mas o emulador deve estar executando no máximo a API 23. Se você usa a API 25, não há conteúdo no gerenciador de arquivos
Manos
2
O gerenciador de banco de dados do seu link do Github está funcionando para mim! Também tem a oportunidade de testar consultas!
precisa saber é o seguinte
198

Conecte-se ao Sqlite3 via ADB Shell

Não encontrei nenhuma maneira de fazer isso no Android Studio, mas acesso o db com um shell remoto em vez de puxar o arquivo todas as vezes.

Encontre todas as informações aqui: http://developer.android.com/tools/help/adb.html#sqlite

1- Vá para a pasta de ferramentas da plataforma em um prompt de comando

2- Digite o comando adb devicespara obter a lista dos seus dispositivos

C:\Android\adt-bundle-windows-x86_64\sdk\platform-tools>adb devices
List of devices attached
emulator-xxxx   device

3- Conecte um shell ao seu dispositivo:

C:\Android\adt-bundle-windows-x86_64\sdk\platform-tools>adb -s emulator-xxxx shell

4- Navegue até a pasta que contém seu arquivo db:

cd data/data/<your-package-name>/databases/

5- execute o sqlite3 para conectar-se ao seu db:

sqlite3 <your-db-name>.db

6- execute comandos sqlite3 que você gosta, por exemplo:

Select * from table1 where ...;

Nota: Encontre mais comandos para executar abaixo.

Folha de dicas SQLite

Existem algumas etapas para ver as tabelas em um banco de dados SQLite:

  1. Liste as tabelas no seu banco de dados:

    .tables
  2. Liste a aparência da tabela:

    .schema tablename
  3. Imprima a tabela inteira:

    SELECT * FROM tablename;
  4. Liste todos os comandos de prompt do SQLite disponíveis:

    .help
Distwo
fonte
17
recebo permissão negada na etapa 4, o que você acha?
Adrian Olar
4
Você pode ter que fazer root no seu avd e / ou iniciar o adb como root na etapa 3 'root adb -s emulator-xxxx shell'
Distwo
2
Etapa 5: sqlite3 não encontrado. Por quê?
sabsab
3
Porque você precisa instalar para poder usar
Paul Paca-Vaca Seleznev
12
Pessoalmente, a permissão foi negada ao tentar acessar a pasta de bancos de dados , a execução run-as your.package.namefez o truque.
precisa saber é o seguinte
83

Estou realmente muito surpreso que ninguém tenha dado esta solução:

Dê uma olhada no Stetho .

Eu usei o Stetho em várias ocasiões para diferentes propósitos (um deles é a inspeção do banco de dados). No site atual , eles também falam sobre recursos para inspeção de rede e observação da hierarquia de visualizações.

Ele requer apenas um pouco de configuração: 1 adição de dependência gradle (que você pode comentar sobre compilações de produção), algumas linhas de código para instanciar o Stetho e um navegador Chrome (porque ele usa devtools do Chrome para tudo).

Atualização : agora você pode usar o Stetho para visualizar arquivos de território (se estiver usando o território em vez de um banco de dados SQLite): https://github.com/uPhyca/stetho-realm

Atualização # 2 : Agora você pode usar o Stetho para visualizar documentos do Couchbase: https://github.com/RobotPajamas/Stetho-Couchbase

Atualização # 3 : O Facebook está concentrando esforços em adicionar todos os recursos do Stetho em sua nova ferramenta, Flipper. O Flipper já possui muitos dos recursos que o Stetho possui. Portanto, agora pode ser um bom momento para fazer a troca. https://fbflipper.com/docs/stetho.html

w3bshark
fonte
9
Muito obrigado. Para ser mais simples, 1. compile 'com.facebook.stetho:stetho:1.3.1' e 2. adicione este código Stetho.initializeWithDefaults(this);e 3. #chrome://inspect/#devices
Frank Myat th
2
Muito simples, você pode ver dados do banco de dados sem ferramentas de terceiros, dentro do navegador chrome.
Mateus Viccari
Não se esqueça de Stetho.initializeWithDefaults(this);estar na Applicationclasse.
wonsuc
1
Ótima ferramenta. Seu aplicativo será listado na página #devices se você tiver feito a configuração corretamente. Clique em Inspecionar e, em seguida, vá para Recursos> Web SQL> [db_name] e você pode escrever suas instruções sqlite.
Brad
73

Método mais simples quando não estiver usando um emulador

$ adb shell
$ run-as your.package.name
$ chmod 777 databases
$ chmod 777 databases/database_name
$ exit
$ cp /data/data/your.package.name/databases/database_name /sdcard
$ run-as your.package.name # Optional
$ chmod 660 databases/database_name # Optional
$ chmod 660 databases # Optional
$ exit # Optional
$ exit
$ adb pull /sdcard/database_name

Ressalvas:

Eu não testei isso por um tempo. Pode não funcionar na API> = 25. Se o comando cp não estiver funcionando, tente um dos seguintes procedimentos:

# Pick a writeable directory <dir> other than /sdcard
$ cp /data/data/your.package.name/databases/database_name <dir>

# Exit and pull from the terminal on your PC
$ exit
$ adb pull /data/data/your.package.name/databases/database_name

Explicação:

O primeiro bloco configura as permissões do seu banco de dados para serem legíveis. Isso aproveita o run-asque permite que você personifique o usuário do seu pacote para fazer a alteração.

$ adb shell
$ run-as your.package.name
$ chmod 777 databases
$ chmod 777 databases/database_name
$ exit # Closes the shell started with run-as

Em seguida, copiamos o banco de dados em um diretório legível / gravável em todo o mundo. Isso permite que o adb puxe o acesso do usuário.

$ cp /data/data/your.package.name/databases/database_name /sdcard

Em seguida, substitua os privilégios de leitura / gravação existentes. Isso é importante para a segurança do seu aplicativo, no entanto, os privilégios serão substituídos na próxima instalação.

$ run-as your.package.name
$ chmod 660 databases/database_name 
$ chmod 660 databases
$ exit # Exit the shell started with run-as

Por fim, copie o banco de dados para o disco local.

$ exit # Exits shell on the mobile device (from adb shell) 
$ adb pull /sdcard/database_name
morreu
fonte
4
Eu tenho problemas com o segundo comando: executar como. Estou recebendo 'com.mycompany.myappname' é desconhecido. E sim, tenho certeza de que estou usando o nome do pacote correto!
Scott Biggs
1
@PhuLai você tentou um dispositivo diferente? Qual dispositivo está falhando?
diedthreetimes
1
Eu tentei com o Nexus 6P, API 25. Acho que esse método não funcionará em novas versões do Android.
foo
chmod 660 databases/database_namedeve ser anteschmod 660 databases
Alaa M.
@PhuLai - Eu tenho isso também e então eu tentei pular o cpcomando e apenas fazendo um pullde fora (após alterar permissões) e funcionou ( adb pull data/data/package.name/databases/db_name.db)
Alaa M.
52

No Android Studio 3 e acima, você pode ver uma seção "Device File Explorer" no lado inferior direito do Android Studio.

Abra-o e, em seguida, você poderá ver a árvore de arquivos, poderá encontrar bancos de dados de aplicativos neste caminho:

/data/data/{package_name}/databases/

insira a descrição da imagem aqui

Ali Zeynali
fonte
2
Quando clico duas vezes no arquivo DB do meu aplicativo, ele mostra todos os caracteres ilegíveis. Qual leitor SQLite você usa para examinar o conteúdo do banco de dados?
Surekha
4
Eu recomendo o sqlitebrowser.org gratuito, de código aberto e disponível para todas as plataformas.
Ali Zeynali
3
meu arquivo database.db não contém nenhuma tabela.
Binil
Pasta está vazia. Erro: run-as: Could not set capabilities: Operation not permitted. Dispositivo Samsung: stackoverflow.com/questions/37413667/…
O-9
25

Finalmente, encontrei uma solução mais simples que não precisa abrir o DDMS.

Na verdade, a solução é baseada no que o @Distwo mencionou, mas não precisa ser tão complicado.

Primeiro , lembre-se do caminho do seu arquivo de banco de dados no dispositivo, ele deve sempre o mesmo. Por exemplo, o meu é:/data/data/com.XXX.module/databases/com.XXX.module.database

Segundo , execute este comando que puxa seu arquivo de banco de dados para o seu PC

 adb pull /data/data/com.XXX.module/databases/com.XXX.module.database /Users/somePathOnYourPC/

O que você precisa fazer é apenas copiar e armazenar esse comando e, em seguida, usá-lo novamente e novamente.

Terceiro , se você tiver permissão negada ou algo parecido, basta executar adb rootantes do comando anterior.

Scott Zhu
fonte
9
A execução adb rootnão funciona no meu telefone. Imprime adbd cannot run as root in production builds. Depois de executar adb root, no entanto, o comando pull congela e preciso interrompê-lo manualmente.
LaDude 3/11
@Daniela tentar run-as your.package.nameisso deve "iniciar sessão" como o usuário que pertence a sua aplicação
m02ph3u5
Use o comando acima para copiar o arquivo .db para a sua área de trabalho, instale o plug-in do navegador SQLiteManager no Firefox e comece a navegar. Trabalho de 2 minutos!
JaydeepW
esse comando root era para emulador, você não pode simplesmente executar este comando e fazer root no seu 'telefone'.
Darpan
1
tudo está feito, peguei o database.db. arquivo, mas que database.db arquivo não contém nenhuma tabela
Binil
16

Experimente este plug-in do estúdio para Android SQLScout . você pode ver e editar o banco de dados do aplicativo em tempo real.

SQLScout

Edit: Lembre-se de que é um plug-in pago, mas tem 24 horas de teste e é adequado para dores de cabeça.

Amir Hossein Ghasemi
fonte
17
É um produto pago, você esqueceu de mencionar.
yshahak
58
na verdade, ele tem 24 horas de teste, planejei meu futuro como desenvolvedor por mais de 24 horas.
yshahak
Infelizmente, não é grátis.
K.Sopheak
O tempo de teste é de apenas 36 horas.
Mahdi Moqadasi
9

Depois de passar por todas as soluções, vou sugerir

Use Stethos
Permite ver como é simples

Inclua as seguintes dependências no arquivo build.gradle

compile 'com.facebook.stetho:stetho:1.5.0'
compile 'com.facebook.stetho:stetho-js-rhino:1.4.2'

Em seguida, vá para o método mainActivity onCreate e adicione a seguinte linha

Stetho.initializeWithDefaults(this);

isso exigiria que você

import com.facebook.stetho.Stetho;

agora, enquanto executa o aplicativo no android studio, abra o Chrome e, na barra de endereços, digite
chrome: // inspecionar /

na guia recursos> web SQL, verifique facilmente o banco de dados e a tabela em tempo real

ShankPossible
fonte
Quarto é apenas ORM, nada muda em termos de sql funciona mesma maneira
ShankPossible
9

A maneira mais fácil é usar a biblioteca Android Debug Database (7,3 mil estrelas no GitHub) .

Banco de dados de depuração do Android

Vantagens:

  • Implementação rápida
  • Veja todos os bancos de dados e preferências compartilhadas
  • Editar, excluir, criar diretamente os valores do banco de dados
  • Execute qualquer consulta SQLite no banco de dados especificado
  • Pesquise nos seus dados
  • Baixar banco de dados
  • Incluindo Arquivos de Banco de Dados Customizados
  • Não é necessário fazer root no dispositivo

Como usar:

  1. Adicionar debugImplementation 'com.amitshekhar.android:debug-db:1.0.6'a build.gradle (module);
  2. Lançamento do Aplicativo;
  3. Encontre o link de depuração nos logs (no LogCat) (ou seja D/DebugDB: Open http://192.168.232.2:8080 in your browser, o link será diferente) e abra-o no navegador;
  4. Aproveite a poderosa ferramenta de depuração!

Importante:

  • Infelizmente não funciona com emuladores
  • Se você o estiver usando via USB, execute adb forward tcp:8080 tcp:8080
  • Seu telefone e laptop Android devem estar conectados à mesma rede (Wi-Fi ou LAN)

Para mais informações, acesse a página da biblioteca no GitHub.

Daniel
fonte
1
Este é o processo melhor e menos doloroso! Obrigado Daniel
Sudip
4

Para saber onde o banco de dados sqlite armazenado foi criado por você no android studio, você precisa seguir etapas simples:

1.Run your application
2.Go to Tools--->Android---->Device Monitor
3.Find your application name in left panel
4.Then click on File Explorer tab
5.Select data folder
6.Select data folder again and find your app or module name
7.Click on your  database name
8.On right-top window you have an option to pull file from device.
9.Click it and save it on your PC
10.Use FireFox Sqlite manager to attach it to your project.

Para mais informações, este link será útil. http://www.c-sharpcorner.com/UploadFile/e14021/know-where-database-is-stored-in-android-studio/

Para visualizar seus dados presentes no arquivo db, você precisa baixar o navegador sqlite ou adicionar plug-in do mesmo em qualquer navegador, para abrir o arquivo no navegador e visualizar seus dados.

Faça o download do navegador de http://sqlitebrowser.org/

Aqui está uma captura de tela mostrando o navegador que contém o banco de dados de registro

Obrigado,

MD05
fonte
4

Maneira simples e fácil de ver o conteúdo do banco de dados no Android studio .

#Para Android Studio 4.1 Canary 6 e superior

Você pode usar o recurso Inspetor de banco de dados de um Android Studio, muito simples . Onde você pode inspecionar, consultar e modificar os bancos de dados do seu aplicativo usando o novo Inspetor de Banco de Dados. Por exemplo, você pode depurar seu aplicativo em execução modificando valores no seu banco de dados e testando essas alterações no dispositivo em tempo real sem sair do Android Studio .

Para começar, implante seu aplicativo em um dispositivo executando a API nível 26 ou superior e selecione Exibir> Janelas de Ferramentas> Inspetor de Banco de Dados na barra de menus.

#Para Android Studio 4.0 e versões inferiores

Primeiro , instale o plug-in do Database Navigator no Android Studio

insira a descrição da imagem aqui

Segundo , reinicie o Android Studio

Terceiro , salve o banco de dados no local padrão, como: (C: \ Usuários \ Nome do usuário \ Documents \ AndroidStudio \ DeviceExplorer \ emulador ou dispositivo \ dados \ dados \ nome do pacote \ bancos de dados)

insira a descrição da imagem aqui

Quarto , o Connect salvou o arquivo dbname_db no Database Navigator

insira a descrição da imagem aqui insira a descrição da imagem aqui

Forneça o mesmo caminho de arquivo do banco de dados usado na etapa Terceiro

ie (C: \ Usuários \ Nome do Usuário \ Documentos \ AndroidStudio \ DeviceExplorer \ emulador ou dispositivo \ dados \ dados \ nome do pacote \ bancos de dados \ naem \ dbname_db)

Finalmente , apenas teste a conexão com o banco de dados, abra o console e faça o que quiser.

insira a descrição da imagem aqui

Se você deseja atualizar o DB, repita a etapa Segundo e salve ou atualize.

FELIZ CODIFICAÇÃO !!!!!

Nabin
fonte
3
Esta solução precisa de muitos esforços para o seu trabalho diário. E em cada alteração no banco de dados você precisa recarregar o arquivo sql - parece um pouco complicado. Eu prefiro usar alguns plugins que permitem visualizar o banco de dados no servidor local #
22619
1
Sim, você está certo, até que não haja atualização de dados em tempo real no Database Navigator, espero que ele atualize seus plugins em breve.
Nabin
Exatamente, seria um ótimo recurso. #
262519
Sim, até agora esta é a melhor maneira para mim se nós precisamos de dados de consulta, adicionar, editar e excluir
Nabin
Preciso sempre fazer o salvamento para atualizar o banco de dados? existe uma maneira mais fácil, como no mysql, tudo que eu preciso é apertar o botão de atualização.
ンドリューライアンア
3

A maneira mais simples é conectar o dispositivo e executar o Android Studio e depois na barra de ferramentas:

  1. Ver -> Janela Ferramentas -> Device File Explorer
  2. Entre em dados / dados e encontre seu pacote
  3. encontre o arquivo do banco de dados que deseja explorar e faça o download
  4. Eu recomendo nesta ferramenta online: https://sqliteonline.com/ para explorar o arquivo db

Outra maneira é usar a biblioteca Stetho:

  1. Adicione a dependência do Stello ao seu build.gradle:

    compilar 'com.facebook.stetho: stetho: 1.5.0'

  2. Coloque a linha a seguir no seu onCreate () da classe Application ou da atividade principal:

    Stetho.initializeWithDefaults (this);

  3. Conecte seu dispositivo, execute o aplicativo e digite o seguinte site no Chrome:

    chrome: // inspecionar / # dispositivos

e é isso. agora você pode explorar suas tabelas.

Nota: é recomendável remover a dependência antes de passar para a produção.

Gal Rom
fonte
2

Se você deseja procurar seus bancos de dados no ANDROID STUDIO, eis o que estou usando:

Vá para Arquivos / Configurações / Plugins e procure o seguinte:

insira a descrição da imagem aqui

... Depois de reiniciar o Android Studio, você pode escolher o arquivo do banco de dados baixado assim: insira a descrição da imagem aqui

... Clique no ícone "Abrir SQL Console" e você terá uma bela visualização do seu banco de dados no Android Studio: ! [insira a descrição da imagem aqui

j3App
fonte
2
Então eu tenho que copiar db do emulador o tempo todo?
Maksim Kniazev 12/06/19
2

Novo Inspetor de banco de dados introduzido no Android 4.1 Canary 5 Preview, onde agora você pode inspecionar, consultar, modificar e depurar bancos de dados SQLite no aplicativo em execução diretamente do IDE - https://developer.android.com/studio/preview/features?linkId = 86173020 # inspetor de banco de dados

Também suporta consulta ao vivo do banco de dados - https://developer.android.com/studio/preview/features?linkId=86173020#query

insira a descrição da imagem aqui

Anoop M
fonte
1

Esta é uma pergunta MUITO antiga e minha resposta é semelhante a algumas respostas acima, mas é MUITO mais rápida. O script abaixo é para Mac, mas tenho certeza que alguém pode modificá-lo para Windows.

1) Abra o Editor de scripts no seu Mac (você pode simplesmente procurar pelo Editor de scripts no Spotlight)
2) Copie e cole o texto abaixo e modifique-o com o caminho do SDK, o nome do pacote etc. (veja abaixo)
3) Salve o script! !

É isso aí! Basta pressionar o botão play na parte superior para obter o arquivo de banco de dados atualizado, que estará na sua área de trabalho.

substitua as seguintes coisas no script abaixo:

path_to_my_sdk == >> coloque o caminho completo para o seu sdk
my_package_name == >> nome do pacote do seu aplicativo
myDbName.db == >> nome do arquivo do seu banco de dados

set getLocalDb to "path_to_my_sdk/platform-tools/adb shell run-as my_package_name chmod 777 databases && path_to_my_sdk/platform-tools/adb shell run-as my_package_name chmod 777 databases/myDbName.db && path_to_my_sdk/platform-tools/adb shell run-as my_package_name cp databases/myDbName.db /sdcard/myDbName.db && path_to_my_sdk/platform-tools/adb pull /sdcard/myDbName.db /Users/User/Desktop/myDbName.db"
do shell script getLocalDb

Espero que isso ajude alguém.

ᴛʜᴇᴘᴀᴛᴇʟ
fonte
Funcionou para mim. Exceto que você tem que mudar o 'Usuário' para o seu MacBook nome de usuário no diretório de saída /Users/User/Desktop/myDbName.db
Kenny Dabiri
1

Sei que a pergunta é bastante antiga, mas acredito que esse problema ainda esteja presente.

Visualizando bancos de dados do seu navegador

Criei uma ferramenta de desenvolvimento que você pode integrar como uma lib em seu projeto de aplicativo para Android. A ferramenta abre um soquete de servidor no seu aplicativo para se comunicar via navegador da web. Você pode navegar por todo o banco de dados e fazer o download do arquivo diretamente pelo navegador.

insira a descrição da imagem aqui

A integração pode ser feita via jitpack.io:

projeto build.gradle:

//...
allprojects {
    repositories {
        jcenter()
        maven { url 'https://jitpack.io' }
    }
}
//...

app build.gradle:

//...
dependencies {
    //...
    debugCompile 'com.github.sanidgmbh:debugghost:v1.1'
    //...
}
//...

Classe de aplicativo de instalação

Para compilar apenas DebugGhostLib em certos tipos de compilação ou tipos de produtos, precisamos de uma classe Application abstrata que será derivada nos tipos especiais. Coloque a seguinte classe na sua mainpasta (em java> your.app.package):

public class AbstractDebugGhostExampleApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        // Do your general application stuff
    }
}

Agora, para o tipo de construção da versão (ou versão do produto), adicione a seguinte classe Application à sua releasepasta ( ou versão do produto) (também em java> your.app.package):

public class MyApp extends AbstractDebugGhostExampleApplication {
    @Override
    public void onCreate() {
        super.onCreate();
    }
}

Esta é a classe de aplicativo que não irá referência a DebugGhostLib.

Diga também AndroidManifest.xmlque você está usando sua própria classe de aplicativo. Isso será feito na sua mainpasta:

<manifest package="demo.app.android.sanid.com.debugghostexample" xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- permissions go here -->
    <application android:name=".MyApp"> <!-- register your own application class -->
        <!-- your activities go here -->
    </application>
</manifest>

Agora, para o seu tipo de construção de depuração (ou sabor do produto), adicione a seguinte classe Application à sua debugpasta (ou sabor do produto) (também em java> your.app.package):

public class MyApp extends AbstractDebugGhostExampleApplication {
    private DebugGhostBridge mDebugGhostBridge;

    @Override
    public void onCreate() {
        super.onCreate();

        mDebugGhostBridge = new DebugGhostBridge(this, MyDatabaseHelper.DATABASE_NAME, MyDatabaseHelper.DATABASE_VERSION);
        mDebugGhostBridge.startDebugGhost();
    }
}

Você pode obter a ferramenta aqui .

O sorriso
fonte
esta é uma boa ferramenta especificamente depois que o Stetho parou de funcionar em um cromo mais recente,
Homayoun Behzadian
1

Abra o Terminal de exploração de arquivos do dispositivo na parte inferior do Android Studio.

Abrir A pasta denominada Dados e , em Dados, abra novamente os Dados da Pasta .

Abra os dados da pasta

Role para baixo na lista de pastas e localize a pasta com o seu.pacote.nome. Abra a pasta your.package.name > Banco de Dados . Você recebe o seu.databaseName . Clique com o botão direito em your.databaseName e salve como em C: / your / Computer / Directory.

Vá para C: / your / Computer / Directory e abra your.databaseName com DB SQLite

insira a descrição da imagem aqui

eli
fonte
1

Para Android Studio 3.X

  1. Ver -> Janelas de Ferramentas -> Device File Explorer
  2. Em O Explorador de Arquivos, dados-> dados-> com. (Pacote de aplicativos) -> bancos de dados
  3. Clique com o botão direito do mouse no banco de dados e salve em sua máquina local. Para abrir, o arquivo que você pode usar o SQLite Studio basta arrastar o arquivo do Banco de Dados.

Aqui está o link para o SQLite Studio: https://sqlitestudio.pl/index.rvt?act=download

Jawad Zeb
fonte
1

Com o lançamento da visualização Canary e Dev do Android Studio 4.1 , você pode usar uma nova ferramenta chamada

Inspetor de banco de dados

Inspetor de banco de dados

Instale o AS 4.1+, execute o aplicativo, abra o inspetor de banco de dados, agora você pode visualizar seus arquivos de banco de dados no lado esquerdo do painel do inspetor de banco de dados e selecione a tabela para visualizar o conteúdo.

Consultas ao vivo

Você pode executar suas consultas usando a opção Executar SQL ou, se estiver usando o Room , abra o inspetor de banco de dados e execute o aplicativo; em seguida, você pode executar as consultas DAO em sua interface clicando no botão Executar à esquerda da @Queryanotação.

consultas ao vivo

Pavneet_Singh
fonte
1

Use o sqlite do android como o banco de dados do lado do servidor

Siga estas etapas listadas abaixo:

  1. Encontre a janela da ferramenta Banco de Dados e clique nela como na imagem abaixo

insira a descrição da imagem aqui

  1. Clique no ícone de adição e selecione Android SQLite como abaixo da imagem

insira a descrição da imagem aqui

  1. Conecte seu dispositivo Android ao seu computador

  2. Selecione o pacote que você gosta e selecione o banco de dados como na imagem abaixo insira a descrição da imagem aqui

  3. Antes de todas essas etapas acima, você deve garantir que possui a permissão correta para acessar o arquivo: /data/data//database/databasefile.db

Após todas essas etapas, você verá o conteúdo do banco de dados como abaixo:

insira a descrição da imagem aqui

insira a descrição da imagem aqui

A última coisa importante é

Você deve clicar no ícone de atualização sempre que os dados do banco de dados forem atualizados.

insira a descrição da imagem aqui

Espero que este seja um trabalho para você! Obrigado !

anKotliner
fonte
0

Talvez essa não seja a resposta que você está procurando, mas não tenho uma maneira melhor de baixar o DB do telefone. O que vou sugerir é ter certeza de que você está usando este mini-DDMS. Ele ficará super oculto, se você não clicar na pequena caixa de camoflagem na parte inferior esquerda do programa. (tentou passar o mouse sobre ele, caso contrário você pode sentir falta.)

Também a lista suspensa que diz que não há filtros (canto superior direito). Ele literalmente tem várias maneiras diferentes de monitorar processos / aplicativos diferentes por PPID, nome e muito mais. Eu sempre usei isso para monitorar o telefone, mas lembre-se de que não estou fazendo o tipo de trabalho de desenvolvedor que precisa ser 120% positivo de que o banco de dados não está fazendo algo fora do comum.

Espero que ajude

insira a descrição da imagem aqui

nocommit
fonte
0

Eu montei uma automação de linha de comando unix desse processo e coloquei o código aqui:

https://github.com/elliptic1/Android-Sqlite3-Monitor

É um script de shell que leva o nome do pacote e o nome do banco de dados como parâmetros, baixa o arquivo de banco de dados do dispositivo Android conectado e executa o script personalizado no arquivo baixado. Então, com uma ferramenta unix como 'watch', você pode abrir uma janela de terminal com uma visualização periodicamente atualizada da saída do script do banco de dados.

elliptic1
fonte
0

Estou usando o Windows 7, meu dispositivo é uma API de dispositivo Android emulada 23. Suponho que seja a mesma para qualquer dispositivo real, desde que esteja enraizada e a API não esteja acima de 23

Vá para Ferramentas -> Android -> Monitor de dispositivo Android. Vá para o File Explorer. No meu caso, está em data / data // app_webview / database / file_0 / 1

Eu tenho que adicionar manualmente .db no final do arquivo chamado "1"

Asyraf Arifin
fonte
0

É uma combinação de outras respostas com um plus

  1. Instalar DB Browser for SQLite
  2. Obtenha o local exato do Device File Explorer para MyBase.db, algo como "/data/data/com.whatever.myapp/databases/MyBase.db"
  3. Defina a janela do projeto do Android como Project - para que você possa ver os arquivos (build.gradle, gradle.properties, ... etc)
  4. Na janela Projeto, clique com o botão direito do mouse e escolha Abrir no Terminal
  5. No terminal, agora você está no diretório raiz do seu aplicativo a partir do disco rígido, então execute: adb pull /data/data/com.whatever.myapp/databases/MyBase.db
  6. Agora, na janela Project do seu Android Studio, você tem um arquivo "MyBase.db"
  7. Clique duas vezes no arquivo db do Project e agora você pode navegar / editar seus bancos de dados no DB Browser
  8. Quando estiver pronto, basta gravar alterações no navegador do banco de dados para que os bancos de dados sejam salvos no disco rígido
  9. No terminal com o comando: adb, pressione MyBase.db /data/data/com.whatever.myapp/databases/MyBase.db que você acabou de enviar do Hardisk para o dispositivo do banco de dados editado.
lawrghita
fonte
0

Siga as etapas acima para abrir a pasta do banco de dados do seu aplicativo no Android Device Explorer e lá você poderá ver seis arquivos. Os três primeiros são nomeados como android e os três últimos são nomeados como o nome do seu banco de dados. Você só precisa trabalhar com os três últimos arquivos, salve esses três arquivos no local preferido. Você pode salvar esses arquivos clicando com o botão direito do mouse no arquivo e clicando em Salvar como (como se meu banco de dados tivesse o nome room_database e, portanto, três arquivos fossem nomeados como room_database, room_database-shm e room_database-wal. : -

1) room_database to room_database.db 2) room_database-shm to room_database.db-shm 3) room_database-wal to room_database.db-wal

Agora abra o 1º arquivo em qualquer navegador SQLite e todos os três arquivos serão preenchidos no navegador.

Abhishek Meharia
fonte
0

Por fim, o Android Studio suporta essa funcionalidade com a guia Inspetor de banco de dados. Você pode aplicar operações de exibição / atualização / consulta facilmente. Não está no canal estável no momento, mas você pode experimentar com o Android Studio 4.1 Canary 5 e superior.

Você pode ver como é o inspetor de banco de dados aqui

E você pode baixar a versão apropriada aqui

Berkay92
fonte