Encontrar base de datos SQLite en dispositivo android
Cuando se está trabajando en una aplicación de Android que
hace uso de una base de datos SQLite, puede resultar necesario buscar el
archivo de esta dentro del sistema de archivos del dispositivo en el que se
están realizando pruebas, ya sea para verificar si esta se creó correctamente,
si los datos se están almacenando, entre otras cosas.
La base de datos de cada aplicación se ubica en la siguiente
ruta dentro del dispositivo:
/data/data/[mi.paquete.app]/databases/
¡La carpeta data está vacía!
Si estamos usando el File Explorer del Android Device
Monitor/DDMS para consultar los archivos del dispositivo Android, en
algunos casos puede resultar que el directorio /data en apariencia no posee
ningún contenido. Sin embargo, esto sucede debido a que esta carpeta no posee
los permisos necesarios para ver su contenido.
Si esto sucede, lo que hay que hacer es otorgar los permisos
necesarios para acceder a los archivos. Esto se puede hacer en dispositivos
rooted y emuladores a través del ADB Shell, para entrar en modo terminal a
nuestro dispositivo.
Para iniciar el ABD Shell, se ejecuta el siguiente comando
en la terminal:
adb shell
Si hay varios dispositivos conectados, es necesario indicar el serial del dispositivo, de la siguiente forma:
adb -s [serial] shell
En donde [serial] es el serial del dispositivo deseado.
El serial del dispositivo se puede obtener ejecutando el comando adb devices
El serial del dispositivo aparece en la primera columna a la izquierda, al ejecutar el comando.
Una vez estando en la terminal del dispositivo, se deben iniciar modo super-usuario (usuario root):
$ su
Luego, hay que ejecutar el siguiente comando, para otorgar permiso completo de acceso a la rama de carpetas y archivos para todos los usuarios:
# chmod 777 /data /data/data /data/data/[mi.paquete.app] /data/data/[mi.paquete.app]/databases /data/data/[mi.paquete.app]/databases/*
Finalmente, para salir de la terminal:
#exit $exit
Puede que no sea necesario otorgar control total sobre las carpetas,
habría que probar cuáles serían los permisos mínimos dependiendo de lo que se
necesite hacer con los archivos.