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)?
fuente
Respuestas:
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):
Descargue e instale SQLiteBrowser .
Copie la base de datos del dispositivo a su PC:
Versiones de Android Studio <3.0 :
Abrir DDMS a través de
Tools > Android > Android Device Monitor
Haga clic en su dispositivo a la izquierda.
Debería ver su aplicación:
Vaya al Explorador de archivos (una de las pestañas de la derecha), vaya a
/data/data/databases
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 ":
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 de
View > 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.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:
Eso es. No hace falta decir que debe deshacer todos estos pasos antes de publicar su aplicación.
fuente
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 devices
para obtener la lista de sus dispositivos3- Conecte un shell a su dispositivo:
4- Navega a la carpeta que contiene tu archivo db:
5- ejecuta sqlite3 para conectarte a tu base de datos:
6- ejecuta comandos sqlite3 que te gusten, por ejemplo:
Hoja de trucos SQLite
Hay algunos pasos para ver las tablas en una base de datos SQLite:
Liste las tablas en su base de datos:
Enumere cómo se ve la tabla:
Imprime toda la tabla:
Enumere todos los comandos de solicitud de SQLite disponibles:
fuente
run-as your.package.name
hizo el truco.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
fuente
compile 'com.facebook.stetho:stetho:1.3.1'
y 2. agregue este códigoStetho.initializeWithDefaults(this);
y 3.chrome://inspect/#devices
Stetho.initializeWithDefaults(this);
deberías estar en laApplication
clase.El método más simple cuando no se usa un emulador
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:
Explicación:
El primer bloque configura los permisos de su base de datos para que sean legibles. Esto aprovecha lo
run-as
que le permite suplantar al usuario de su paquete para realizar el cambio.A continuación, copiamos la base de datos a un directorio mundial legible / grabable. Esto permite que el usuario adb extraiga el acceso.
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.
Finalmente, copie la base de datos en el disco local.
fuente
chmod 660 databases/database_name
debería ser anteschmod 660 databases
cp
comando y simplemente hacer un comandopull
desde afuera (después de cambiar los permisos) y funcionó (adb pull data/data/package.name/databases/db_name.db
)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:
fuente
run-as: Could not set capabilities: Operation not permitted
. Dispositivo Samsung: stackoverflow.com/questions/37413667/…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
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 root
antes del comando anterior.fuente
adb root
no funciona en mi teléfono. Se imprimeadbd cannot run as root in production builds
. Sinadb root
embargo, después de ejecutar , el comando de extracción simplemente se congela y necesito detenerlo manualmente.run-as your.package.name
esto debería "iniciar sesión" como el usuario que pertenece a su aplicaciónPruebe este complemento de estudio de Android SQLScout . puedes ver y editar la base de datos de tu aplicación en tiempo real.
Editar: recuerde que es un complemento pago, pero tiene 24 horas de prueba y es adecuado para el dolor de cabeza.
fuente
Después de analizar todas las soluciones, sugeriré
Use Stethos
Veamos cuán simple es
Agregue las siguientes dependencias en el archivo build.gradle
Luego vaya a su método mainActivity onCreate agregue la siguiente línea
esto requeriría que
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
fuente
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) .
Ventajas:
Cómo utilizar:
debugImplementation 'com.amitshekhar.android:debug-db:1.0.6'
abuild.gradle (module)
;D/DebugDB: Open http://192.168.232.2:8080 in your browser
, el enlace será diferente) y ábralo en el navegador;Importante:
adb forward tcp:8080 tcp:8080
Para obtener más información, vaya a la página de la biblioteca en GitHub.
fuente
Para saber dónde almacena la base de datos sqlite creada por usted en el estudio de Android, debe seguir pasos simples:
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,
fuente
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
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)
Cuarto , conecte el archivo dbname_db guardado en el Navegador de base de datos
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.
Si desea actualizar DB simplemente repita el paso Segundo y simplemente guárdelo o actualice.
FELIZ CODIFICACIÓN !!!!!
fuente
La forma más sencilla es conectar su dispositivo y ejecutar Android Studio luego desde la barra de herramientas:
Otra forma es usar la biblioteca Stetho:
Agregue la dependencia Stello a su build.gradle:
compile 'com.facebook.stetho: stetho: 1.5.0'
Ponga la siguiente línea en su onCreate () de su clase de aplicación o actividad principal:
Stetho.initializeWithDefaults (this);
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.
fuente
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:
... Después de reiniciar Android Studio, puede elegir su archivo de base de datos descargado de esta manera:
... Haga clic en el icono "Abrir consola SQL", y terminará con esta agradable vista de su base de datos dentro de Android Studio:
fuente
Nuevo Inspector de base de datos introducido en Android 4.1 Vista previa de Canary 5 donde ahora puede inspeccionar, consultar, modificar y depurar bases de datos SQLite en su aplicación en ejecución directamente desde el IDE: https://developer.android.com/studio/preview/features?linkId = 86173020 # inspector-base de datos
También admite la consulta en vivo de la base de datos: https://developer.android.com/studio/preview/features?linkId=86173020#query
fuente
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
Espero que esto ayude a alguien.
fuente
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.
La integración se puede hacer a través de jitpack.io:
proyecto build.gradle:
app build.gradle:
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
main
carpeta (enjava
>your.app.package
):Ahora, para su tipo de compilación de lanzamiento (o sabor de producto), agregue la siguiente clase de aplicación a su
release
carpeta (o sabor de producto) (también enjava
>your.app.package
):Esta es la clase de aplicación que no referencia a DebugGhostLib.
Indique también
AndroidManifest.xml
que está utilizando su propia clase de aplicación. Esto se hará en sumain
carpeta:Ahora, para su tipo de compilación de depuración (o sabor de producto), agregue la siguiente clase de aplicación a su
debug
carpeta (o sabor de producto) (también enjava
>your.app.package
):Puedes obtener la herramienta aquí .
fuente
Tuve que extraer la base de datos del teléfono a la PC. Ahora uso esta aplicación muy bien hecha y gratuita que tiene muchas características. Funciona
API 4.1+
con un dispositivo rooteado .Avíseme si encuentra cómo hacerlo funcionar sin root.
https://play.google.com/store/apps/details?id=com.lastempirestudio.sqliteprime
fuente
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 .
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
fuente
Para Android Studio 3.X
Aquí está el enlace a SQLite Studio: https://sqlitestudio.pl/index.rvt?act=download
fuente
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
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
@Query
anotación.fuente
Use android sqlite como la base de datos del lado del servidor
Siga estos pasos enumerados a continuación:
Conecte su dispositivo Android a su computadora
Seleccione el paquete que le interesa y seleccione la base de datos como la imagen de abajo
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:
La última cosa importante es
¡Espero que esto sea un trabajo para ti! Gracias !
fuente
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
fuente
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.
fuente
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"
fuente
Es una combinación de otras respuestas con un plus
fuente
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.
fuente
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í
fuente