Ver contenido del archivo de base de datos en Android Studio

250

He estado usando Android Studio para desarrollar mi aplicación desde que se lanzó.

Todo funciona bien hasta hace poco, tengo que depurar junto con verificar el archivo de la base de datos. Como no sé cómo ver la base de datos directamente, cuando depuré para generar el archivo de la base de datos, tengo que exportar el archivo de la base de datos desde mi teléfono a la PC.

Para hacer esto, tengo que abrir DDMS > File Explorer. Una vez que abro el DDMS, tengo que volver a conectar el USB y pierdo mi hilo de depuración. Después de verificar el archivo de la base de datos, tengo que cerrar el DDMS y volver a conectar el USB para volver al modo de depuración.

Es demasiado complicado. ¿Alguien tiene una mejor manera de hacer esto en Android Studio (sé que es más fácil en Eclipse)?

Scott Zhu
fuente

Respuestas:

302

Visualización de bases de datos de Android Studio:

Editar: para ver su base de datos en un emulador, siga estos pasos (para el dispositivo real, desplácese hacia abajo):

  1. Descargue e instale SQLiteBrowser .

  2. Copie la base de datos del dispositivo a su PC:

    • Versiones de Android Studio <3.0 :

      • Abrir DDMS a través deTools > Android > Android Device Monitor

      • Haga clic en su dispositivo a la izquierda.
        Debería ver su aplicación: ingrese la descripción de la imagen aquí

      • Vaya al Explorador de archivos (una de las pestañas de la derecha), vaya a/data/data/databases ingrese la descripción de la imagen aquí

      • Seleccione la base de datos simplemente haciendo clic en ella.

      • Vaya a la esquina superior derecha de la ventana de Android Device Monitor. Haga clic en el 'botón extraer un archivo del dispositivo ": ingrese la descripción de la imagen aquí

      • Se abrirá una ventana preguntándole dónde desea guardar su archivo de base de datos. Guardarlo donde quieras en tu PC.

    • Versiones de Android Studio> = 3.0 :

      • Abierto el Explorador de archivos del dispositivo a través deView > Tool Windows > Device File Explorer

      • Ir data > data > PACKAGE_NAME > database , donde PACKAGE_NAME es el nombre de su paquete (es com.Movie en el ejemplo anterior)

      • Haga clic derecho en la base de datos y seleccione Save As.... Guárdalo donde quieras en tu PC.

  3. Ahora, abra el SQLiteBrowser que instaló. Haga clic en ' abrir base de datos ', navegue hasta la ubicación donde guardó el archivo de la base de datos y ábralo . Ahora puede ver el contenido de su base de datos.


Para ver su base de datos en su dispositivo móvil:

Vaya a este repositorio de Github y siga las instrucciones del archivo Léame para poder ver su base de datos en su dispositivo. Lo que obtienes es algo como esto:

ingrese la descripción de la imagen aquí

Eso es. No hace falta decir que debe deshacer todos estos pasos antes de publicar su aplicación.

Ojonugwa Jude Ochalifu
fuente
2
esa es para mí la respuesta correcta porque la sugerencia con la herramienta sqlitebrowser, es increíble. Gracias
Manu Zi
26
/ data no se expande en el explorador de archivos de Device Monitor, supongo que es inaccesible ya que la lista de entradas del directorio / data o / data / data requiere acceso de superusuario. Todavía puedo acceder a mis archivos de base de datos a través de adb shell con privilegios su. ¿Tienes alguna idea de cómo obtener su acceso en el administrador de archivos?
Saravanabalagi Ramachandran
2
@ZekeDran, sí el método sólo muestra los datos de un emulador no sus device.I han añadido pasos para ver la base de datos en su dispositivo though.Check la edición
Ojonugwa Jude Ochalifu
11
Funciona, pero el emulador no debe ejecutar más que la API 23. Si usa la API 25, entonces no hay contenido en el explorador de archivos
Manos
2
¡El administrador de la base de datos desde su enlace de Github está trabajando para mí! ¡También tiene la oportunidad de probar consultas!
basti12354
199

Conéctese a Sqlite3 a través de ADB Shell

No he encontrado ninguna forma de hacerlo en Android Studio, pero accedo al db con un shell remoto en lugar de extraer el archivo cada vez.

Encuentra toda la información aquí: http://developer.android.com/tools/help/adb.html#sqlite

1- Ve a tu carpeta de herramientas de plataforma en un símbolo del sistema

2- Ingrese el comando adb devicespara obtener la lista de sus dispositivos

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

3- Conecte un shell a su dispositivo:

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

4- Navega a la carpeta que contiene tu archivo db:

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

5- ejecuta sqlite3 para conectarte a tu base de datos:

sqlite3 <your-db-name>.db

6- ejecuta comandos sqlite3 que te gusten, por ejemplo:

Select * from table1 where ...;

Nota: Encuentre más comandos para ejecutar a continuación.

Hoja de trucos SQLite

Hay algunos pasos para ver las tablas en una base de datos SQLite:

  1. Liste las tablas en su base de datos:

    .tables
  2. Enumere cómo se ve la tabla:

    .schema tablename
  3. Imprime toda la tabla:

    SELECT * FROM tablename;
  4. Enumere todos los comandos de solicitud de SQLite disponibles:

    .help
Distwo
fuente
17
me deniegan el permiso en el paso 4, ¿qué te parece?
Adrian Olar
44
Es posible que deba rootear su avd y / o iniciar adb como root en el paso 3 'root adb -s emulator-xxxx shell'
Distwo
2
Paso 5: sqlite3 no encontrado. ¿Por qué?
sabsab
3
Porque necesita instalar para poder usar
Paul Paca-Vaca Seleznev
12
Personalmente, se me denegó el Permiso al intentar acceder a la carpeta de bases de datos , la ejecución run-as your.package.namehizo el truco.
Yann39
83

De hecho, estoy muy sorprendido de que nadie haya dado esta solución:

Echa un vistazo a Stetho .

He usado Stetho en varias ocasiones para diferentes propósitos (uno de ellos es la inspección de la base de datos). En el sitio web real , también hablan sobre las características para la inspección de la red y para mirar a través de la jerarquía de vistas.

Solo requiere una pequeña configuración: 1 adición de dependencia de gradle (que puede comentar para las compilaciones de producción), algunas líneas de código para crear instancias de Stetho y un navegador Chrome (porque usa las herramientas de Chrome para todo).

Actualización : ahora puede usar Stetho para ver archivos Realm (si está usando Realm en lugar de una base de datos SQLite): https://github.com/uPhyca/stetho-realm

Actualización n. ° 2 : ahora puede usar Stetho para ver documentos de Couchbase: https://github.com/RobotPajamas/Stetho-Couchbase

Actualización n. ° 3 : Facebook está centrando sus esfuerzos en agregar todas las funciones de Stetho a su nueva herramienta, Flipper. Flipper ya tiene muchas de las características que tiene Stetho. Entonces, ahora puede ser un buen momento para hacer el cambio. https://fbflipper.com/docs/stetho.html

w3bshark
fuente
99
Muchas gracias. Para ser más simple, 1. compile 'com.facebook.stetho:stetho:1.3.1' y 2. agregue este código Stetho.initializeWithDefaults(this);y 3.chrome://inspect/#devices
Frank Myat Thu
2
Muy simple, puede ver datos de la base de datos sin herramientas de terceros, dentro del navegador Chrome.
Mateus Viccari
No olvides que Stetho.initializeWithDefaults(this);deberías estar en la Applicationclase.
wonsuc
1
Gran herramienta Su aplicación aparecerá en la página de #dispositivos si ha realizado la configuración correctamente. Haga clic en Inspeccionar y luego vaya a Recursos> Web SQL> [nombre_bd] y podrá escribir sus declaraciones sqlite.
Brad
73

El método más simple cuando no se usa un 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

Advertencias:

No he probado esto en mucho tiempo. Es posible que no funcione en API> = 25. Si el comando cp no funciona, intente uno de los siguientes:

# 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

Explicación:

El primer bloque configura los permisos de su base de datos para que sean legibles. Esto aprovecha lo run-asque le permite suplantar al usuario de su paquete para realizar el cambio.

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

A continuación, copiamos la base de datos a un directorio mundial legible / grabable. Esto permite que el usuario adb extraiga el acceso.

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

Luego, reemplace los privilegios de lectura / escritura existentes. Esto es importante para la seguridad de su aplicación, sin embargo, los privilegios serán reemplazados en la próxima instalación.

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

Finalmente, copie la base de datos en el disco local.

$ exit # Exits shell on the mobile device (from adb shell) 
$ adb pull /sdcard/database_name
muerto
fuente
44
Tengo problemas con el segundo comando: run-as. Recibo 'com.mycompany.myappname' es desconocido. Y sí, ¡estoy seguro de que estoy usando el nombre de paquete correcto!
Scott Biggs
1
@PhuLai, ¿has probado un dispositivo diferente? ¿Qué dispositivo está fallando?
falleció el
1
Intenté con Nexus 6P, API 25. Creo que este método no funcionará en las nuevas versiones de Android.
foo
chmod 660 databases/database_namedebería ser anteschmod 660 databases
Alaa M.
@PhuLai: también obtuve esto y luego intenté omitir el cpcomando y simplemente hacer un comando pulldesde afuera (después de cambiar los permisos) y funcionó ( adb pull data/data/package.name/databases/db_name.db)
Alaa M.
52

En Android Studio 3 y superior, puede ver una sección de "Explorador de archivos de dispositivo" en el lado inferior derecho de Android Studio.

Ábralo, luego puede ver el árbol de archivos, puede encontrar las bases de datos de una aplicación en esta ruta:

/data/data/{package_name}/databases/

ingrese la descripción de la imagen aquí

Ali Zeynali
fuente
2
Cuando hago doble clic en el archivo DB para mi aplicación, muestra todos los caracteres ilegibles. ¿Qué lector de SQLite utiliza para mirar el contenido de la base de datos?
Surekha
44
Recomiendo sqlitebrowser.org gratis, de código abierto y disponible para todas las plataformas.
Ali Zeynali
3
mi archivo database.db no contiene ninguna tabla.
Binil
La carpeta está vacía. Error: run-as: Could not set capabilities: Operation not permitted. Dispositivo Samsung: stackoverflow.com/questions/37413667/…
O-9
25

Finalmente, encontré una solución más simple que no necesita abrir el DDMS.

En realidad, la solución se basa en lo que @Distwo mencionó, pero no tiene por qué ser tan complicado.

Primero , recuerde la ruta de su archivo de base de datos en el dispositivo, siempre debe ser lo mismo. Por ejemplo el mío es:/data/data/com.XXX.module/databases/com.XXX.module.database

En segundo lugar , ejecute este comando que extrae su archivo de base de datos en su PC

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

Lo que debe hacer es copiar y almacenar este comando, luego puede usarlo una y otra vez.

En tercer lugar , si se le denegó el permiso o algo así, simplemente ejecute adb rootantes del comando anterior.

Scott Zhu
fuente
99
Correr adb rootno funciona en mi teléfono. Se imprime adbd cannot run as root in production builds. Sin adb rootembargo, después de ejecutar , el comando de extracción simplemente se congela y necesito detenerlo manualmente.
LaDude
@Daniela intente run-as your.package.nameesto debería "iniciar sesión" como el usuario que pertenece a su aplicación
m02ph3u5
Use el comando anterior para copiar el archivo .db en su escritorio, instale el complemento del navegador SQLiteManager en Firefox y comience a navegar. ¡Trabajo de 2 minutos!
JaydeepW
ese comando raíz era para el emulador, no puedes simplemente ejecutar este comando y rootear tu 'teléfono'.
Darpan
1
todo está hecho, obtuve la base de datos.db. archivo PERO ese archivo database.db no contiene ninguna tabla
Binil
16

Pruebe este complemento de estudio de Android SQLScout . puedes ver y editar la base de datos de tu aplicación en tiempo real.

SQLScout

Editar: recuerde que es un complemento pago, pero tiene 24 horas de prueba y es adecuado para el dolor de cabeza.

Amir Hossein Ghasemi
fuente
17
Es un producto pagado, olvidó mencionarlo.
yshahak
58
en realidad no, tiene 24 horas de prueba, planeé mi futuro como desarrollador durante más de 24 horas.
yshahak
Lamentablemente, no es gratis.
K.Sopheak
El tiempo de prueba es de solo 36 horas.
Mahdi Moqadasi
9

Después de analizar todas las soluciones, sugeriré

Use Stethos
Veamos cuán simple es

Agregue las siguientes dependencias en el archivo build.gradle

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

Luego vaya a su método mainActivity onCreate agregue la siguiente línea

Stetho.initializeWithDefaults(this);

esto requeriría que

import com.facebook.stetho.Stetho;

ahora mientras ejecuta la aplicación desde Android Studio, abra Chrome y en la barra de direcciones escriba
chrome: // inspect /

en la pestaña de recursos> web SQL, verifique la base de datos y la tabla jugando con ella en tiempo real fácilmente

Caña Posible
fuente
La habitación es simplemente normal, nada cambia en términos de sql, funciona de la misma manera
Shank Posible
9

La forma más fácil es usar la biblioteca de la base de datos de depuración de Android (7.3k estrellas en GitHub) .

Base de datos de depuración de Android

Ventajas:

  • Implementación rápida
  • Ver todas las bases de datos y preferencias compartidas
  • Edite directamente, elimine, cree los valores de la base de datos
  • Ejecuta cualquier consulta SQLite en la base de datos dada
  • Busca en tus datos
  • Descargar base de datos
  • Agregar archivos de base de datos personalizados
  • No es necesario rootear el dispositivo

Cómo utilizar:

  1. Añadir debugImplementation 'com.amitshekhar.android:debug-db:1.0.6'a build.gradle (module);
  2. Ejecutar aplicación;
  3. Encuentre el enlace de depuración en los registros (en LogCat) (es decir D/DebugDB: Open http://192.168.232.2:8080 in your browser, el enlace será diferente) y ábralo en el navegador;
  4. ¡Disfruta de la poderosa herramienta de depuración!

Importante:

  • Lamentablemente no funciona con emuladores
  • Si lo está utilizando a través de USB, ejecute adb forward tcp:8080 tcp:8080
  • Su teléfono y computadora portátil Android deben estar conectados a la misma red (Wifi o LAN)

Para obtener más información, vaya a la página de la biblioteca en GitHub.

Daniel
fuente
1
¡Este es el proceso mejor y menos doloroso! Gracias Daniel
Sudip
4

Para saber dónde almacena la base de datos sqlite creada por usted en el estudio de Android, debe seguir pasos 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 más información este enlace será útil. http://www.c-sharpcorner.com/UploadFile/e14021/know-where-database-is-stored-in-android-studio/

Para ver sus datos presentes en el archivo db, debe descargar el navegador sqlite o agregar el complemento de los mismos en cualquier navegador, por lo que debe abrir el archivo en el navegador y ver sus datos.

Descargar el navegador desde http://sqlitebrowser.org/

Aquí hay una captura de pantalla que muestra el navegador que contiene la base de datos de registro

Gracias,

MD05
fuente
4

Forma simple y fácil de ver el contenido de la base de datos dentro del estudio de Android .

# Para Android Studio 4.1 Canary 6 y superior

Puede utilizar una característica muy simple de Android Studio Inspector de base de datos . Donde puede inspeccionar, consultar y modificar las bases de datos de su aplicación utilizando el nuevo Inspector de bases de datos. Por ejemplo, puede depurar su aplicación en ejecución modificando valores en su base de datos y probando esos cambios en el dispositivo en tiempo real sin salir de Android Studio .

Para comenzar, implemente su aplicación en un dispositivo con nivel de API 26 o superior y seleccione Ver> Herramientas Windows> Inspector de base de datos en la barra de menú.

# Para Android Studio 4.0 y versiones inferiores

Primero , instale el complemento Database Navigator en Android Studio

ingrese la descripción de la imagen aquí

Segundo , reinicie Android Studio

En tercer lugar , guarde la base de datos en la ubicación predeterminada, como: (C: \ Usuarios \ Nombre de usuario \ Documentos \ AndroidStudio \ DeviceExplorer \ emulator o device \ data \ data \ package name \ bases de datos)

ingrese la descripción de la imagen aquí

Cuarto , conecte el archivo dbname_db guardado en el Navegador de base de datos

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

Proporcione la misma ruta de archivo DB que se usa en el paso Tercero

es decir (C: \ Usuarios \ Nombre de usuario \ Documentos \ AndroidStudio \ DeviceExplorer \ emulator o device \ data \ data \ package name \ database \ package naem \ dbname_db)

Finalmente , solo pruebe la conexión DB y abra la consola y haga lo que quiera hacer.

ingrese la descripción de la imagen aquí

Si desea actualizar DB simplemente repita el paso Segundo y simplemente guárdelo o actualice.

FELIZ CODIFICACIÓN !!!!!

Nabin
fuente
3
Esta solución necesita muchos esfuerzos para su trabajo diario. Y en cada cambio en la base de datos, necesita volver a cargar el archivo sql, parece un poco complicado. Yo prefiero usar algunos plugins que dan capacidad de base de datos de vista en el servidor local
Максим Петлюк
1
Sí, tiene razón, hasta que no haya una actualización de datos en tiempo real en Database Navigator, espero que actualice sus complementos pronto.
Nabin
Exactamente, sería una gran característica
Максим Петлюк
Sí, hasta ahora esta es la mejor manera para mí si necesitamos consultar datos, agregar, editar y eliminar
Nabin
¿Necesito siempre guardar para actualizar la base de datos? ¿Hay una manera más fácil como en MySQL? Todo lo que necesito es presionar el botón Actualizar.
ン ド リ ュ ー ラ イ ア ン ア
3

La forma más sencilla es conectar su dispositivo y ejecutar Android Studio luego desde la barra de herramientas:

  1. Ver -> Ventana Herramientas -> Explorador de archivos del dispositivo
  2. Entra en datos / datos y encuentra tu paquete
  3. encuentre el archivo DB que desea explorar y descárguelo
  4. Recomiendo en esta herramienta en línea: https://sqliteonline.com/ para explorar el archivo db

Otra forma es usar la biblioteca Stetho:

  1. Agregue la dependencia Stello a su build.gradle:

    compile 'com.facebook.stetho: stetho: 1.5.0'

  2. Ponga la siguiente línea en su onCreate () de su clase de aplicación o actividad principal:

    Stetho.initializeWithDefaults (this);

  3. Conecte su dispositivo, ejecute la aplicación e ingrese al siguiente sitio en Chrome:

    Chrome: // inspeccionar / # dispositivos

y eso es todo. ahora puedes explorar tus mesas.

Nota: se recomienda eliminar la dependencia antes de pasar a producción.

Gal rom
fuente
2

Si desea explorar sus bases de datos DESDE DENTRO DE ANDROID STUDIO, esto es lo que estoy usando:

Vaya a Archivos / Configuración / Complementos y busque esto:

ingrese la descripción de la imagen aquí

... Después de reiniciar Android Studio, puede elegir su archivo de base de datos descargado de esta manera: ingrese la descripción de la imagen aquí

... Haga clic en el icono "Abrir consola SQL", y terminará con esta agradable vista de su base de datos dentro de Android Studio: ! [ingrese la descripción de la imagen aquí

j3App
fuente
2
¿Entonces tengo que copiar db del emulador todo el tiempo?
Maksim Kniazev
1

Esta es una pregunta MUY antigua y mi respuesta es similar a algunas de las respuestas anteriores, pero se hizo MUCHO más rápido. El siguiente script es para Mac, pero estoy seguro de que alguien puede modificarlo para Windows.

1) Abra Script Editor en su Mac (puede buscar Script Editor en Spotlight)
2) Copie y pegue el texto a continuación y modifíquelo con su ruta SDK, nombre del paquete, etc. (ver más abajo)
3) ¡Guarde el script! !

Eso es todo! Simplemente presione el botón de reproducción en la parte superior para obtener el archivo de base de datos actualizado, que estará en su escritorio.

reemplace las siguientes cosas en el script a continuación:

path_to_my_sdk == >> poner ruta completa a su SDK
my_package_name == >> nombre del paquete de la aplicación
myDbName.db == >> nombre de archivo de la base de datos

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 esto ayude a alguien.

ᴛʜᴇᴘᴀᴛᴇʟ
fuente
Funcionó para mi. Excepto que tiene que cambiar el 'Usuario' a su nombre de usuario de MacBook en el directorio de salida /Users/User/Desktop/myDbName.db
Kenny Dabiri
1

Sé que la pregunta es bastante antigua, pero creo que este problema aún está presente.

Ver bases de datos desde su navegador

Creé una herramienta de desarrollo que puedes integrar como lib en tu proyecto de aplicación de Android. La herramienta abre un socket de servidor en su aplicación para comunicarse a través del navegador web. Puede navegar por toda su base de datos y descargar el archivo de la base de datos directamente a través del navegador.

ingrese la descripción de la imagen aquí

La integración se puede hacer a través de jitpack.io:

proyecto build.gradle:

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

app build.gradle:

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

Configurar la clase de aplicación

Para compilar solo DebugGhostLib en ciertos tipos de compilación o sabores de productos, necesitamos una clase de aplicación abstracta que se derivará en los sabores especiales. Coloque la siguiente clase en su maincarpeta (en java> your.app.package):

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

Ahora, para su tipo de compilación de lanzamiento (o sabor de producto), agregue la siguiente clase de aplicación a su releasecarpeta (o sabor de producto) (también en java> your.app.package):

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

Esta es la clase de aplicación que no referencia a DebugGhostLib.

Indique también AndroidManifest.xmlque está utilizando su propia clase de aplicación. Esto se hará en su maincarpeta:

<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>

Ahora, para su tipo de compilación de depuración (o sabor de producto), agregue la siguiente clase de aplicación a su debugcarpeta (o sabor de producto) (también en 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();
    }
}

Puedes obtener la herramienta aquí .

La sonrisa
fuente
esta es una buena herramienta específicamente después de que Stetho dejó de trabajar en cromo más nuevo,
Homayoun Behzadian
1

Abra la Terminal de exploración de archivos del dispositivo en la parte inferior de Android Studio.

Abra la carpeta llamada Datos , luego dentro de Datos nuevamente abra los Datos de la carpeta .

Abra la carpeta de datos

Desplácese hacia abajo en la lista de carpetas y busque la carpeta con your.package.name. Abra la carpeta your.package.name > Base de datos . Obtiene su.databaseName . Haga clic derecho en su.databaseName y Guardar en C: / your / Computer / Directory.

Vaya a C: / your / Computer / Directory abra your.databaseName con DB SQLite

ingrese la descripción de la imagen aquí

eli
fuente
1

Para Android Studio 3.X

  1. Ver -> Herramienta Windows -> Explorador de archivos del dispositivo
  2. En The File Explorer data-> data-> com. (Yourapplication package) -> bases de datos
  3. Haga clic derecho en la base de datos y guarde en su máquina local. Para abrir el archivo, puede usar SQLite Studio simplemente arrastrando el archivo de la base de datos.

Aquí está el enlace a SQLite Studio: https://sqlitestudio.pl/index.rvt?act=download

Jawad Zeb
fuente
1

Con el lanzamiento de Android Studio 4.1 Canary y la vista previa de Dev , puedes usar una nueva herramienta llamada

Inspector de bases de datos

Inspector de DB

Instale AS 4.1+, ejecute la aplicación, abra el inspector de la base de datos, ahora puede ver los archivos de su base de datos en el lado izquierdo del panel del inspector de la base de datos y luego seleccione la tabla para ver el contenido.

Consultas en vivo

Puede ejecutar sus consultas utilizando la opción Ejecutar SQL o si está utilizando Room y luego abrir el inspector de la base de datos y ejecutar la aplicación, puede ejecutar las consultas DAO en su interfaz haciendo clic en el botón Ejecutar a la izquierda de la @Queryanotación.

consultas en vivo

Pavneet_Singh
fuente
1

Use android sqlite como la base de datos del lado del servidor

Siga estos pasos enumerados a continuación:

  1. Busque la ventana de la herramienta Base de datos y haga clic en ella como se muestra a continuación.

ingrese la descripción de la imagen aquí

  1. Haga clic en el ícono más y seleccione Android SQLite como se muestra a continuación.

ingrese la descripción de la imagen aquí

  1. Conecte su dispositivo Android a su computadora

  2. Seleccione el paquete que le interesa y seleccione la base de datos como la imagen de abajo ingrese la descripción de la imagen aquí

  3. Antes de todos estos pasos anteriores, debe asegurarse de tener el permiso correcto para acceder al archivo: /data/data//database/databasefile.db

Después de todos estos pasos, verá el contenido de la base de datos como se muestra a continuación:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

La última cosa importante es

Debe hacer clic en el icono de actualización cada vez que se hayan actualizado los datos de la base de datos.

ingrese la descripción de la imagen aquí

¡Espero que esto sea un trabajo para ti! Gracias !

anKotliner
fuente
0

Puede que esta no sea la respuesta que está buscando, pero no tengo una mejor manera de descargar DB desde el teléfono. Lo que sugeriré es asegurarse de que esté utilizando este mini-DDMS. Sin embargo, estará súper oculto si no hace clic en el cuadro de camoflage muy pequeño en la parte inferior izquierda del programa. (traté de pasar el mouse sobre él, de lo contrario podría perderlo).

También el menú desplegable que dice que no hay filtros (arriba a la derecha). Literalmente tiene un montón de formas diferentes en que puede monitorear diferentes procesos / aplicaciones por PPID, nombre y mucho más. Siempre he usado esto para monitorear el teléfono, pero tenga en cuenta que no estoy haciendo el tipo de trabajo de desarrollo que necesita ser 120% positivo, la base de datos no está haciendo algo fuera de lo común.

Espero eso ayude

ingrese la descripción de la imagen aquí

sin compromiso
fuente
0

He reunido una automatización de línea de comandos de Unix de este proceso y coloqué el código aquí:

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

Es un script de shell que toma el nombre del paquete y el nombre de la base de datos como parámetros, descarga el archivo de la base de datos desde el dispositivo Android conectado y ejecuta el script personalizado contra el archivo descargado. Luego, con una herramienta de Unix como 'watch', puede abrir una ventana de terminal con una vista de actualización periódica de la salida del script de la base de datos.

elliptic1
fuente
0

Estoy usando Windows 7, mi dispositivo es un dispositivo Android emulado API 23. Supongo que es el mismo para cualquier dispositivo real siempre que esté rooteado y la API no sea superior a 23

Vaya a Herramientas -> Android -> Monitor de dispositivo Android. Ve al Explorador de archivos. En mi caso, está en data / data // app_webview / bases de datos / file_0 / 1

Tengo que agregar manualmente .db al final del archivo llamado "1"

Asyraf Arifin
fuente
0

Es una combinación de otras respuestas con un plus

  1. Instalar el navegador DB para SQLite
  2. Obtenga la ubicación exacta del Explorador de archivos del dispositivo para MyBase.db algo así como "/data/data/com.whatever.myapp/databases/MyBase.db"
  3. Establezca la ventana del proyecto de Android a Project, para que pueda ver los archivos (build.gradle, gradle.properties, ... etc.)
  4. En la ventana del proyecto, haga clic derecho y elija Abrir en la Terminal
  5. En la terminal, ahora está en el director raíz de su aplicación desde el disco duro, así que ejecute: adb pull /data/data/com.whatever.myapp/databases/MyBase.db
  6. Ahora en la ventana Proyecto de su Android Studio tiene un archivo "MyBase.db"
  7. Haga doble clic en su archivo db desde Project y ahora puede explorar / editar sus bases de datos en el Navegador DB
  8. Cuando esté listo, simplemente escriba los cambios en el navegador DB para que las bases de datos se guarden en el disco duro
  9. En la terminal con el comando: adb, presione MyBase.db /data/data/com.whatever.myapp/databases/MyBase.db que acaba de enviar desde el disco duro al dispositivo de la base de datos editada.
lawrghita
fuente
0

Siga los pasos anteriores para abrir la carpeta de la base de datos de su aplicación en el Explorador de dispositivos Android y allí podrá ver seis archivos. Los primeros tres se nombran como Android y los últimos tres se nombran como el nombre de su base de datos. Solo tiene que trabajar con los últimos tres archivos, guarde estos tres archivos en su ubicación preferida. Puede guardar estos archivos haciendo clic con el botón derecho en el archivo y haga clic en Guardar como botón (como tengo mi base de datos llamada room_database y tres nombres se llaman room_database, room_database-shm y room_database-wal. Cambie el nombre del archivo correspondiente de la siguiente manera : -

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

Ahora abra el primer archivo en cualquier navegador SQLite y los tres archivos se completarán en el navegador.

Abhishek Meharia
fuente
0

Finalmente, Android Studio admite esta funcionalidad con la pestaña del inspector de la base de datos. Puede aplicar operaciones de visualización / actualización / consulta fácilmente. No está en un canal estable por ahora, pero puedes probar con Android Studio 4.1 Canary 5 y superior.

Puedes ver cómo se ve el inspector de la base de datos aquí

Y puedes descargar la versión apropiada aquí

Berkay92
fuente