La carpeta de "datos" del monitor de dispositivos Android está vacía
He probado crear, insertar y recuperar datos en mi db de aplicaciones, y saber que funciona mediante el uso de las sentencias de registro.
Sin embargo, deseo acelerar las pruebas y utilizar el monitor de dispositivos Android. Sin embargo, aunque el db existe y los datos se almacenan, al acceder a continuación, la carpeta de data
está vacía:
- Se une con ActiveAndroid - cómo obtener los datos de la segunda tabla
- Android SQLite Facilidad de reversión de transacciones?
- Cómo utilizar FTS3 en SQLite
- Android sqlite actualización de fila
- SQLite de Android "ENTRE" no incluye o devuelve todos los registros
Por qué sería este el caso? ¿Cómo se puede configurar esto para mostrar el archivo db y su contenido?
- Obtención del siguiente valor AUTO_INCREMENT de una base de datos SQLite
- ¿Cómo combinar datos de dos tablas separadas en un solo Cursor?
- Android SQLite ORDER BY no funciona
- Configuración de args de selecciones múltiples en la consulta de base de datos SQLite
- Base de datos Sqlite que actualiza una fila Android
- Cómo utilizar la cláusula LIKE en la función de consulta
- AutoCompleteTextView con CursorLoader y SimpleCursorAdapter
- No hay tal tabla android_metadata, ¿cuál es el problema?
Además de las respuestas de @Steven K: Si quieres acceder a tus datos sin tener que root tu dispositivo real necesitas ejecutar tu aplicación en un emulador con API 23 (o inferior). Es un problema conocido que las API superiores a 23 pueden causar problemas al implementar Android Device Monitor.
Solución del problema mediante un emulador
La carpeta /data
pueden estar vacíos porque faltan los permisos adecuados. Para resolverlo, tuve que ejecutar los siguientes comandos.
adb shell su
Estos comandos inician un shell en el emulador y le otorgan derechos de root. El comando adb
se encuentra en la carpeta platform-tools
del SDK de Android, que normalmente se instala en ~/Library/Android/sdk/
en MacOS.
chmod -R 777 /data
Modifique los permisos de la carpeta (y subcarpetas recursivamente) /data
para hacerlos aparecer en la herramienta A ndroid Device Monitor .
adb root
Finalmente, este comando reinicia adb
como root. Tenga cuidado, sólo funciona en compilaciones de desarrollo (normalmente emuladores de compilaciones).
A continuación, puede ver el contenido de la carpeta /data
y transferir los datos ubicados en. También puede hacerlo en la consola, utilizando adb pull <remote> <locale>
, como por ejemplo:
adb pull /data/data/<app name>/databases/<database> .
No está vacío … simplemente no tiene permiso para ver esa carpeta en un dispositivo.
Pruébelo en un simulador y funcionará para usted ya que tiene acceso root.
Puede ser más fácil almacenar la base de datos en una carpeta pública durante el desarrollo.
O puedes ver este post:
¿Cómo acceder a la carpeta de datos / datos en el dispositivo Android?
- Android – Arrastrar y soltar – Animación sombra a destino
- Android Cómo activar el hotspot en Android Programáticamente