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:

Introduzca aquí la descripción de la imagen

Por qué sería este el caso? ¿Cómo se puede configurar esto para mostrar el archivo db y su contenido?

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?

  • Actualizar la tabla sqlite en android
  • ¿Por qué onUpgrade () no está siendo invocado en la base de datos Android sqlite?
  • Cambiar el nombre de SQLite Database
  • La transacción de Sqlite bloquea Android ui
  • ¿Es posible hacer una consulta sin procesar en la base de datos de metales de Android de meta sqlite?
  • Identificador único para SMS y contactos (para comprobar la duplicación) en Android
  • Inspeccionar android sqlite y IntelliJ
  • Cómo comprobar si ya existe un valor en la base de datos en Android
  • NoClassDefFoundError al usar greenDao
  • Android.database.sqlite.SQLiteException: cerca de "SELECT": error de sintaxis (código 1):, al compilar: SELECT * FROM Table_Name
  • Error: Asegúrese de que el cursor se inicializa correctamente antes de acceder a los datos de él?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.