2 votos

Modificando el archivo /data/data desde la PC

Tengo una aplicación de Android (utiliza una base de datos sqlite) que creé e instalé en mi dispositivo. Es una aplicación para mi uso personal. Es depurable y su carpeta /data/data es accesible desde la PC con adb pull. Incluso es posible sobrescribir el archivo de base de datos sqlite desde el explorador de dispositivos dentro de Android Studio en la PC. El dispositivo no está rooteado.

Me preguntaba si hay alguna manera de modificar el archivo sqlite de la base de datos dentro de /data/data desde fuera de Android Studio. Dado que AS permite la modificación desde la PC, supongo que no debería haber preocupaciones de seguridad al permitir el acceso desde fuera de AS desde la misma PC.

Tengo una aplicación de escritorio que necesita modificar la base de datos y cada vez que subir el archivo a través del explorador de dispositivos de Android Studio es engorroso. Sería genial si pudiera crear un enlace simbólico o escribir un script para automatizar el proceso.

4voto

pr0nin Puntos 353

No hay un comando simple para cargar un archivo de base de datos modificado en el directorio de datos de la aplicación de depuración. Lo que hace Android Studio al cargar un archivo usando el Explorador de Archivos de Dispositivos es lo siguiente:

  1. Cargar el archivo a través de adb push en /data/local/tmp/
  2. Ejecutar adb shell run-as com.myapp sh -c 'cp /data/local/tmp/ /data/data/com.myapp//'
  3. Eliminar el archivo temporal a través de adb shell rm /data/local/tmp/
  4. Obtener la vista actualizada para el Explorador de Archivos de Dispositivos usando adb shell run-as com.myapp sh -c 'ls -al /data/data/com.myapp//'

Descubrí esto capturando el tráfico de adb en el puerto TCP 5027 usando Wireshark.

Nota: Si sobrescribes el archivo de base de datos mientras la aplicación sigue en ejecución, es probable que la aplicación siga utilizando la base de datos antigua (si la base de datos se mantiene abierta mientras la aplicación está en ejecución) hasta que se detiene el proceso de la aplicación. Recomiendo detener la aplicación antes de cargar el archivo de base de datos modificado.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X