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)?
android
android-studio
android-sqlite
ddms
Scott Zhu
fonte
fonte
Respostas:
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):
Baixe e instale o SQLiteBrowser .
Copie o banco de dados do dispositivo para o seu PC:
Versões do Android Studio <3.0 :
Abra DDMS via
Tools > Android > Android Device Monitor
Clique no seu dispositivo à esquerda.
Você deve ver seu aplicativo:
Vá para o File Explorer (uma das guias à direita), vá para
/data/data/databases
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 ':
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 via
View > Tool Windows > Device File Explorer
Vá para
data > data > PACKAGE_NAME > database
onde 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.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:
É isso aí. Escusado será dizer, no entanto, que você deve desfazer todas essas etapas antes de publicar seu aplicativo.
fonte
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 devices
para obter a lista dos seus dispositivos3- Conecte um shell ao seu dispositivo:
4- Navegue até a pasta que contém seu arquivo db:
5- execute o sqlite3 para conectar-se ao seu db:
6- execute comandos sqlite3 que você gosta, por exemplo:
Folha de dicas SQLite
Existem algumas etapas para ver as tabelas em um banco de dados SQLite:
Liste as tabelas no seu banco de dados:
Liste a aparência da tabela:
Imprima a tabela inteira:
Liste todos os comandos de prompt do SQLite disponíveis:
fonte
run-as your.package.name
fez o truque.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
fonte
compile 'com.facebook.stetho:stetho:1.3.1'
e 2. adicione este códigoStetho.initializeWithDefaults(this);
e 3. #chrome://inspect/#devices
Stetho.initializeWithDefaults(this);
estar naApplication
classe.Método mais simples quando não estiver usando um emulador
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:
Explicação:
O primeiro bloco configura as permissões do seu banco de dados para serem legíveis. Isso aproveita o
run-as
que permite que você personifique o usuário do seu pacote para fazer a alteração.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.
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.
Por fim, copie o banco de dados para o disco local.
fonte
chmod 660 databases/database_name
deve ser anteschmod 660 databases
cp
comando e apenas fazendo umpull
de fora (após alterar permissões) e funcionou (adb pull data/data/package.name/databases/db_name.db
)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:
fonte
run-as: Could not set capabilities: Operation not permitted
. Dispositivo Samsung: stackoverflow.com/questions/37413667/…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
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 root
antes do comando anterior.fonte
adb root
não funciona no meu telefone. Imprimeadbd cannot run as root in production builds
. Depois de executaradb root
, no entanto, o comando pull congela e preciso interrompê-lo manualmente.run-as your.package.name
isso deve "iniciar sessão" como o usuário que pertence a sua aplicaçãoExperimente este plug-in do estúdio para Android SQLScout . você pode ver e editar o banco de dados do aplicativo em tempo real.
Edit: Lembre-se de que é um plug-in pago, mas tem 24 horas de teste e é adequado para dores de cabeça.
fonte
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
Em seguida, vá para o método mainActivity onCreate e adicione a seguinte linha
isso exigiria que você
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
fonte
A maneira mais fácil é usar a biblioteca Android Debug Database (7,3 mil estrelas no GitHub) .
Vantagens:
Como usar:
debugImplementation 'com.amitshekhar.android:debug-db:1.0.6'
abuild.gradle (module)
;D/DebugDB: Open http://192.168.232.2:8080 in your browser
, o link será diferente) e abra-o no navegador;Importante:
adb forward tcp:8080 tcp:8080
Para mais informações, acesse a página da biblioteca no GitHub.
fonte
Para saber onde o banco de dados sqlite armazenado foi criado por você no android studio, você precisa seguir etapas simples:
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,
fonte
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
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)
Quarto , o Connect salvou o arquivo dbname_db no Database Navigator
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.
Se você deseja atualizar o DB, repita a etapa Segundo e salve ou atualize.
FELIZ CODIFICAÇÃO !!!!!
fonte
A maneira mais simples é conectar o dispositivo e executar o Android Studio e depois na barra de ferramentas:
Outra maneira é usar a biblioteca Stetho:
Adicione a dependência do Stello ao seu build.gradle:
compilar 'com.facebook.stetho: stetho: 1.5.0'
Coloque a linha a seguir no seu onCreate () da classe Application ou da atividade principal:
Stetho.initializeWithDefaults (this);
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.
fonte
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:
... Depois de reiniciar o Android Studio, você pode escolher o arquivo do banco de dados baixado assim:
... Clique no ícone "Abrir SQL Console" e você terá uma bela visualização do seu banco de dados no Android Studio:
fonte
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
fonte
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
Espero que isso ajude alguém.
fonte
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.
A integração pode ser feita via jitpack.io:
projeto build.gradle:
app build.gradle:
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
main
pasta (emjava
>your.app.package
):Agora, para o tipo de construção da versão (ou versão do produto), adicione a seguinte classe Application à sua
release
pasta ( ou versão do produto) (também emjava
>your.app.package
):Esta é a classe de aplicativo que não irá referência a DebugGhostLib.
Diga também
AndroidManifest.xml
que você está usando sua própria classe de aplicativo. Isso será feito na suamain
pasta:Agora, para o seu tipo de construção de depuração (ou sabor do produto), adicione a seguinte classe Application à sua
debug
pasta (ou sabor do produto) (também emjava
>your.app.package
):Você pode obter a ferramenta aqui .
fonte
Eu tive que puxar o banco de dados do telefone para o PC. Agora eu uso este aplicativo muito bem feito e gratuito, que tem muitos recursos. Funciona
API 4.1+
com um dispositivo enraizado .Deixe-me saber se você descobrir como fazê-lo funcionar sem raiz.
https://play.google.com/store/apps/details?id=com.lastempirestudio.sqliteprime
fonte
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 .
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
fonte
Para Android Studio 3.X
Aqui está o link para o SQLite Studio: https://sqlitestudio.pl/index.rvt?act=download
fonte
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
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
@Query
anotação.fonte
Use o sqlite do android como o banco de dados do lado do servidor
Siga estas etapas listadas abaixo:
Conecte seu dispositivo Android ao seu computador
Selecione o pacote que você gosta e selecione o banco de dados como na imagem abaixo
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:
A última coisa importante é
Espero que este seja um trabalho para você! Obrigado !
fonte
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
fonte
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.
fonte
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"
fonte
É uma combinação de outras respostas com um plus
fonte
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.
fonte
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
fonte