Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo utilizar ADB en Android Studio para ver una base de datos SQLite

Necesito ver mi db SQLite pero no sé cómo hacerlo. He ido a http://www.sqlite.org/download.html y descargado el shell de línea de comandos para mi sistema operativo, pero cuando ejecuto el programa y el tipo adb ... Tengo errores.

Nota: estoy usando Android Studio así que estoy asumiendo que no necesito instalar nada extra porque recuerdo que Android Studio dijo que tenía todas las herramientas de SDK necesarias.

  • Adb deja de detectar mi teléfono después de un tiempo
  • ¿Cómo se puede activar la depuración de USB para Kindle Fire en Linux (Ubuntu)?
  • Session 'app': Error al instalar APK
  • Ddms: 'adb.exe, start-server' falló - se ejecuta manualmente si es necesario, Android Studio
  • Android adb shell - ceniza o ksh?
  • Conexión de ADB con Wifi para dispositivo no enraizado
  • La aplicación de Android se estrella en Motorola defy reason <s3dReadConfigFile: 75>: No se puede abrir el archivo para leer
  • ¿Cómo controlar el historial de Android WebView / la pila trasera?
  • ¿Cómo averiguar qué actividad está encima de la pila usando Robotium / Android SDK?
  • ¿Hay algún marco de aplicación de Android como primavera?
  • Cómo dibujar un círculo dentro de un círculo con formas de Android xml?
  • Firmar un apk existente usando debug.keystore generado por eclipse
  • 7 Solutions collect form web for “Cómo utilizar ADB en Android Studio para ver una base de datos SQLite”

    Manera más fácil: Conectarse a Sqlite3 a través de ADB Shell

    No he encontrado ninguna manera de hacer eso en Android Studio, pero accedo a la base de datos con una shell remota en lugar de tirar del archivo cada vez.

    Encuentra toda la información aquí: http://developer.android.com/tools/help/sqlite3.html

    1- Vaya a la carpeta de herramientas de plataforma en un símbolo del sistema

    2- Introduzca el comando adb devices para obtener la lista de sus dispositivos

     C:\Android\adt-bundle-windows-x86_64\sdk\platform-tools>adb devices List of devices attached emulator-xxxx device 

    3- Conecte un shell a su dispositivo:

     C:\Android\adt-bundle-windows-x86_64\sdk\platform-tools>adb -s emulator-xxxx shell 

    4a- Puede omitir este paso en el dispositivo enraizado

     run-as <your-package-name> 

    4b- Vaya a la carpeta que contiene su archivo db:

     cd data/data/<your-package-name>/databases/ 

    5- ejecute sqlite3 para conectarse a su db:

     sqlite3 <your-db-name>.db 

    6- Ejecutar comandos sqlite3 que te gustan, por ejemplo:

     Select * from table1 where ...; 

    Nota: busque más comandos para ejecutarse a continuación.

    SQLite cheatsheet

    Hay algunos pasos para ver las tablas en una base de datos SQLite:

    1. Enumere las tablas en su base de datos:

       .tables 
    2. Enumere cómo se ve la tabla:

       .schema tablename 
    3. Imprima toda la tabla:

       SELECT * FROM tablename; 
    4. Enumere todos los comandos de comandos SQLite disponibles:

       .help 

    La manera más fácil para mí es usar Android Device Monitor para obtener el archivo de base de datos y SQLite DataBase Browser para ver el archivo mientras todavía está usando Android Studio para programar android.

    1) Ejecutar y lanzar la aplicación de base de datos con el emulador de Android de Android Studio. (He insertado algunos datos en la aplicación de base de datos para verificar)

    2) Ejecutar Android Device Monitor. ¿Como correr?; Vaya a las [your_folder] > sdk >tools . Puede ver monitor.bat en esa carpeta. shift + right click dentro de la carpeta y seleccione " Open command window here ". Esta acción iniciará el símbolo del sistema. Tipo monitor y Android Device Monitor se pondrá en marcha.

    3) Seleccione el emulador que está ejecutando actualmente. Luego vaya a data>data>[your_app_name]>databases

    4) Haga clic en el icono (situado en la esquina superior derecha) (coloque el cursor sobre el icono y verá "extraer un archivo del dispositivo") y guárdelo donde quiera

    5) Lanzamiento de SQLite DataBase Browser. Arrastre y suelte el archivo que acaba de guardar en ese navegador.

    6) Vaya a la pestaña Browse Data y seleccione su tabla para verla.

    Introduzca aquí la descripción de la imagenIntroduzca aquí la descripción de la imagen

    El problema que está teniendo es común y no se explica bien en la documentación. Los dispositivos normales no incluyen el binario de la base de datos sqlite3, por lo que se está produciendo un error. El Emeulator de Android, OSX, Linux (si está instalado) y Windows (después de instalado) tienen el binario para que pueda abrir una base de datos localmente en su máquina.

    La solución es copiar la base de datos desde su dispositivo a su máquina local. Esto puede lograrse con ADB pero requiere una serie de pasos.

    Antes de empezar necesitará información:

    • Del SDK (si no está incluido en el entorno del sistema operativo)
    • Su <package name> , por ejemplo, com.example.application
    • Un <local path> para colocar su base de datos, por ejemplo. ~/Desktop o %userprofile%\Desktop

    A continuación, tendrá que entender qué terminal cada comando se escribe en el primer carácter en los ejemplos a continuación no se teclea, pero le permite saber en qué shell estamos:

    • > = El símbolo del sistema del sistema operativo
    • $ = Comando de shell ADB
    • ! = Shell de ADB como símbolo del sistema de administración
    • %

    A continuación, introduzca los siguientes comandos desde Terminal o Comando (no introduzca el primer carácter o texto en () )

     > adb shell $ su ! cp /data/data/<package name>/Databases/<database name> /sdcard ! exit $ exit > adb pull /sdcard/<database name> <local path> > sqlite3 <local db path> % .dump % .exit (to exit sqldb) 

    Esta es una manera realmente redonda de copiar la base de datos a su máquina local y leer localmente la base de datos. Hay SO y otros recursos que explican cómo instalar el binario sqlite3 en su dispositivo desde un emulador, pero para un acceso de tiempo este proceso funciona.

    Si necesitas acceder a la base de datos de forma interactiva te sugeriría que ejecutas tu aplicación en un emulador (que ya tuviera sqlite3) o instalando sqlite en tu ruta de dispositivos / xbin .

    ¿Qué menciona mientras escribe adb?

     step1. >adb shell step2. >cd data/data step3. >ls -l|grep "your app package here" step4. >cd "your app package here" step5. >sqlite3 xx.db 

    Dependiendo de los dispositivos no puede encontrar el comando sqlite3 en shell de adb. En ese caso, puede que desee seguir esto:

    Adb shell

    $ Run-as package.name
    $ Cd ./databases/
    $ Ls -l #Encuentra los permisos actuales – r = 4, w = 2, x = 1
    $ Chmod 666 ./dbname.db
    Salir
    Salir
    Adb pull /data/data/package.name/databases/dbname.db ~ / Escritorio /
    Adb push ~ / Desktop / dbname.db /data/data/package.name/databases/dbname.db
    Adb shell
    $ Run-as package.name
    $ Chmod 660 ./databases/dbname.db #Restaurar permisos originales
    Salir
    Salir

    Para referencia, vaya a https://stackoverflow.com/a/17177091/3758972 .

    Puede haber casos en los que obtenga "objeto remoto no encontrado" después de seguir el procedimiento anterior. A continuación, cambie el permiso de su carpeta de base de datos a 755 en shell de adb.

    $ Chmod 755 bases de datos /

    Pero tenga en cuenta que funcionará sólo en la versión android <21.

    Usted puede utilizar una herramienta muy agradable llamada Stetho agregando esto al archivo de build.gradle :

     compile 'com.facebook.stetho:stetho:1.4.1' 

    Y lo inicializó dentro de su método de Application o Activity onCreate() :

     @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Stetho.initializeWithDefaults(this); setContentView(R.layout.activity_main); } 

    A continuación, puede ver los registros de db en cromo en la dirección:

     chrome://inspect/#devices 

    Para más detalles puede leer mi post: Cómo ver fácilmente sus registros DB

    1. Abrir una terminal
    2. cd <ANDROID_SDK_PATH> (para mí en Windows cd C:\Users\Willi\AppData\Local\Android\sdk )
    3. cd platform-tools
    4. adb shell (esto funciona sólo si sólo se está ejecutando un emulador)
    5. cd data/data
    6. su (obtener privilegios de superusuario)
    7. cd <PACKAGE_NAME>/databases
    8. sqlite3 <DB_NAME>
    9. Emitir sentencias SQL ( importante: finalizarlas con ; contrario, la sentencia no se emitirá y se romperá en una nueva línea).

    Nota: Utilice ls (Linux) o dir (Windows) si necesita listar el contenido del directorio.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.