¿Cómo puedo extraer la base de datos sqlite desde el dispositivo Android?

¿Cómo puedo tirar de la base de datos sqlite desde el dispositivo Android como emulador?

Puede utilizar estos comandos para extraer la base de datos del dispositivo. Escribir estos comandos a través de android studio es muy fácil. Asegúrese de haber establecido la ruta de acceso de adb globalmente a su sistema. A continuación, abra la ventana "terminal" desde el fondo hasta el estudio de Android y cerca de "Android Monitor". Ahora solo debes actualizar los siguientes comandos con el nombre real del paquete de tu aplicación y el nombre del archivo de la base de datos. Usted conseguirá su archivo fuera del dispositivo.

adb shell "run-as package.name chmod 666 /data/data/package.name/databases/file" adb pull /data/data/package.name/databases/file . adb shell "run-as package.name chmod 600 /data/data/package.name/databases/file" 

El comando para Android 5.0+ /data/data/package.name/databases/file sería:

 adb shell "run-as package.name chmod 666 /data/data/package.name/databases/file" adb exec-out run-as package.name cat databases/file > newOutFileName adb shell "run-as package.name chmod 600 /data/data/package.name/databases/file" 
  • Conecte su dispositivo a la PC
  • Abrir el símbolo del sistema en /sdk-directory/tools
  • Tipo adb pull /data/data/com.example.app/databases/database.db

Donde com.example.app es el nombre del paquete de aplicación y database.db es el archivo de base de datos

Que es en caso de que su dispositivo está enraizado, si no intente seguir

https://stackoverflow.com/a/8433520/1300995

La mejor manera de ver y administrar tu base de datos de aplicaciones Android es usar esta biblioteca https://github.com/sanathp/DatabaseManager_For_Android

Es un solo archivo de la actividad de java, apenas agrega el archivo de java a tu carpeta de fuente que puedes ver las tablas en tu base de datos de la aplicación, la actualización, la cancelación, inserta filas a tu tabla.

Cuando el desarrollo se hace quitar el archivo java de su carpeta src thats it.

Me ayudó mucho. Espero que te ayude también.

Puedes ver la demostración de 1 minuto aquí: http://youtu.be/P5vpaGoBlBY

 adb root adb remount adb pull <remote> <local> 

Si utiliza eclipse, vaya a la vista DDMS. Desde la pestaña Explorador de archivos -> datos-> datos-> nombre del paquete de aplicaciones-> bases de datos-> nombre de la base de datos

Seleccione el archivo db de la base de datos y luego haga clic en el botón de extracción

Sé que esto es una vieja pregunta, sin embargo esto es lo que hice para tirar el archivo de la base de datos de SQLite de la aplicación en el dispositivo.

  1. Cómo guardar el archivo del paquete de aplicaciones en el dispositivo sdcard

adb -d shell "run-as com.dautechnology.abdimuna.smartparking cat /data/data/<myAppPackageName>/databases/<databaseFileName> > /sdcard/<databaseFileName>"

El comando anterior almacenará el archivo en / sdcard Puede verificar el archivo por adb shell ls sdcard/ Luego salga de la shell de adb escribiendo exit

  1. Tire del archivo de sdcard a su lugar de trabajo actual.

adb pull sdcard/<databaseFileName> 3. Mueva el archivo a Escritorio o lugar de su deseo.

mv <databseFileName> ~/Desktop

Espero que esto ayude a alguien por ahí.

Hágalo programatically en la aplicación

 try { File file = Environment.getExternalStorageDirectory(); File data = Environment.getDataDirectory(); if (file.canWrite()) { String currentPath = "/data/data/" + getPackageName() + "/databases/yourdbname"; String copyPath = "copydb_name.db"; File currentDB = new File(currentPath); File backupDB = new File(file, copyPath); if (currentDB.exists()) { FileChannel src = new FileInputStream(currentDB).getChannel(); FileChannel dst = new FileOutputStream(backupDB).getChannel(); dst.transferFrom(src, 0, src.size()); src.close(); dst.close(); } } 

} Catch (Excepción e) {

}

Asegúrese de que le haya dado permiso

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
  • Parámetros de Android SQLite rawquery
  • ¿Qué podría estar causando este SQLite CursorWindowAllocationException?
  • android.database.sqlite.SQLiteException: near "...": error de sintaxis (código 1)
  • SQLiteException "no puede confirmar - ninguna transacción está activa" al insertar con CONFLICT_REPLACE
  • No es posible obtener datos de la base de datos Sqlite
  • ¿Cómo obtengo el mejor rendimiento con SQLite en Android?
  • ¿Es seguro ejecutar una nueva consulta SQLite mientras itera sobre el cursor para una consulta anterior? (Androide)
  • Android sqlite ordenar en la columna calculada (coordina la distancia)
  • ¿El depurador de Android trunca mensajes de depuración?
  • Usar insertWithOnConflict para actualizar o insertar
  • Error desconocido (código 14): No se pudo abrir la base de datos
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.