Functions/Get-SQLiteDB.ps1
|
<#
.SYNOPSIS Copia la base de datos SQLite de una aplicación Android al directorio actual en la computadora. .DESCRIPTION El cmdlet `Get-SQliteDB` se conecta a un dispositivo Android usando `adb` (Android Debug Bridge) y copia la base de datos SQLite de una aplicación específica al directorio actual en la computadora. La función lee el nombre de la aplicación desde el archivo `pubspec.yaml` y construye el nombre del paquete de la aplicación. Luego, usa `adb` para copiar la base de datos desde el dispositivo Android a la computadora. .EXAMPLE Get-SQliteDB Copia la base de datos SQLite de la aplicación Android al directorio actual en la computadora. .NOTES Versión: 1.0.0 Autor: @ccisnedev #> function Get-SQliteDB { # Leer el archivo pubspec.yaml $content = Get-Content -Path ./pubspec.yaml #Buscar la línea que contiene el nombre de la aplicación $nameLine = $content | Where-Object { $_ -match "name:" } # Extraer el nombre de la aplicación $name = $nameLine -replace "name: ", "" -replace '"', '' # Nombre del paquete de la aplicación # $PACKAGE_NAME = "com.example." + $name + "_client" $PACKAGE_NAME = "com.example." + $name # Ruta de la base de datos en el dispositivo: /data/user/0/com.example.micro/databases/appMicro.db $DB_PATH = "/data/user/0/$PACKAGE_NAME/databases/$name.db" # Ruta de destino en el dispositivo (carpeta de descargas) $DEST_PATH = "/storage/emulated/0/Download/$name.db" # Borra primero el archivo en la carpeta descargas adb -s R92W6083AVP shell rm $DEST_PATH # Usa adb para copiar la base de datos a la carpeta de descargas adb -s R92W6083AVP shell "run-as $PACKAGE_NAME cp $DB_PATH $DEST_PATH" # Usa adb para copiar la base de datos de la carpeta de descargas al directorio especificado en la computadora # adb pull $DEST_PATH "E:/Documents/DB/appMicro.db" adb -s R92W6083AVP pull $DEST_PATH "./$name.db" # Opcional: Elimina la base de datos de la carpeta de descargas si lo deseas # adb shell rm $DEST_PATH # Write-Host "Base de datos copiada exitosamente a E:/Documents/DB/appMicro.db" Write-Host "Base de datos copiada exitosamente a ./$name.db" } |