Cómo extraer .zip a través del shell ADB

Exactamente lo que dice el título. Tengo un archivo zip de 1,5 gb en mi tarjeta SD que me gustaría extraer a través de adb (sin tirar a la PC y empujar hacia atrás). ¿Hay un comando simple para descomprimir un archivo?

¡Gracias!

Respuestas (2)

Si y no. Hasta donde yo sé, una instalación típica de Android no contendrá unzip. Sin embargo, puede instalar busybox para Android, que proporciona la unziputilidad. Luego un sencillo:

adb shell unzip /sdcard/archive.zip

Haría el truco. Si está rooteado, puede usar un instalador de busybox de Market como el de Stericson . Si no está rooteado , entonces debería poder empujar manualmente un binario de busybox ( uno aquí en Github , por ejemplo; haga clic en "sin formato" para descargarlo) a algún lugar como /data/localy luego invocarlo. Debería ser algo como:

adb push /path/to/busybox-android /data/local/busybox
adb shell chmod 0755 /data/local/busybox #Make it executable
adb shell /data/local/busybox unzip /sdcard/archive.zip

Alternativamente, muchos administradores de archivos descomprimirán los archivos por usted. Yo personalmente uso File Expert pero hay muchos otros. Por lo general, solo necesita presionar prolongadamente el archivo y presentará una opción de "extraer" o similar.

Impresionante respuesta. busybox es una herramienta poderosa.
Primero tuve que cambiar el directorio: adb shell; cd / tarjeta sd; /data/local/busybox descomprimir archivo.zip
El shellusuario no tiene permisos /data/localen mi teléfono: un Galaxy S4 con Android 5. Tuve que push busyboxhacerlo /data/local/tmp. Aún no estoy seguro si el contenido de ese directorio persiste después de reiniciar.

También pude usar /data/local/tmp y también pude chmod. Lo que no pude hacer fue descomprimir el archivo zip que creé en Windows.

Para solucionar esto, creé el archivo tar usando 7zip y usé el destino de busybox tar -xvf myzip.tar para descomprimir el archivo con éxito.