Skip to content
psaneme.com
  • Twitter
  • Linkedin
  • Instagram
  • CiberAfterWork Ivoox
  • Youtube
  • iTunes
  • Spotify
  • playlist
  • Entrevistas

blog de psaneme. Ciberseguridad y tecnología

El blog personal de Pablo San Emeterio en el que publico artículos sobre ciberseguridad, tecnología y entrevistas

  • Radio
  • CiberAfterWork en Capital Radio
  • CiberAfterWork – Temporada I y II
  • Entrevistas
ciberseguridad / proyectos

Google Play en AVDs y usuario root

Todos los que hayáis trabajado con Android Studio habréis tenido que configurar en algún momento un emulador también conocidos como AVDs (Android Virtual Device). Una de las cosas que más me llamó la atención cuando comencé a trabajar con los AVDs es que sólo puedes disponer de la Google Play, la tienda de aplicaciones de Google, en algunos modelos concretos de AVD, como podemos ver en la imagen inferior.

Pantalla selección de AVDs

Si seleccionas uno de estos modelos con el icono de la Play Store, podrás instalar una imagen de Android que incluya la tienda de aplicaciones de Google. Como puedes ver en la siguiente imagen.

Hasta aquí todo bien, el “problema” llega cuando quieres hacer alguna acción que requiere tener usuario root como puede ser utilizar iptables para derivar el tráfico de red a un proxy para poder inspeccionarlo. Al intentar ejecutar el comando en la consola aparece un mensaje de error indicando que debes hacerlo desde el usuario root como se puede ver en la imagen inferior.

Para solventar este tipo de situaciones, podemos utilizar una solución como es Genymotion. Genymotion ofrece una versión de escritorio gratuita que permite disponer de Play Store y de usuario root en el mismo emulador, resolviendo este inconveniente. Con un simple botón del emulador permite instalar la Play Store utilizando los paquetes de Open Apps

Captura de emulador de Genymotion recuadrando el botón de instalación de Open GAPPS

Pero Genymotion en su versión gratuita tienes también sus limitaciones, sobre todo destaría dos limitaciones:

La primera es que la última versión de Android sólo esta disponible en la versión de pago. Esta limitación todavía no me ha causado ningún problema ya que siempre he podido utilizar versiones anteriores de Android para realizar mi trabajo.

La segunda restricción sin embargo, si he encontrado situaciones en las que ha sido un problema. Esta restricción es que sólo podemos disponer de emuladores en arquitectura X86 en la versión gratuita. Esto supuso un problema en uno de los últimos trabajos en los que estuve trabajando recientemente y es que hay determinadas aplicaciones que no pueden ejecutar en esta arquitectura. En concreto las aplicaciones desarrolladas en Flutter no ejecutan en este tipo de arquitecturas. De esto hablaré en la próxima conferencia que daré en RootedCON, el sábado 11 de marzo a las 18:20 en la sala 25.

Durante el proyecto, cuando quisimos instalar alguna aplicación desarrollada con Flutter nos encontramos con que no funcionaba en el emulador de Genymotion. Parece ser que Flutter ya no da soporte a este tipo de aplicaciones.

Llegado este momento teníamos dos caminos, contratar la versión de pago en las que se da soporte a otras arquitecturas o intentar lograr lo mismo que hace Genymotion pero en los emuladores que provee Android Studio, de esta forma lograríamos tener la Google Play y usuario root en cualquier version y arquitectura soportada por Android Studio.

Tras mucho buscar en Internet y romper muchos emuladores encontramos un procedimiento que nos funcionó y que os comparto y que espero que os sirva en algún proyecto que tengáis.

  1. Descargar de la página de Open GAPPS la versión que corresponda por arquitectura y versión de Android
  2. Desde la página de Open GAPPS se debe descargar un fichero ZIP. Descomprímelo
  3. Borra todo fichero de setup.
    • rm Core/setup*
  4. Descomprime todos los ficheros que hay en el paquete
    • lzip -d Core/*.lz
  5. Ejecuta el siguiente bucle
    • for f in $(ls Core/*.tar); do
    •   tar -x – – strip-components 2 -f $f
    • done
  6. Al finalizar el proceso tienes que tener varias carpetas en el directorio donde has estado trabajando
  7. Crear un AVD desde Android Studio y apunta el nombre que le das
  8. Arranca el AVD desde linea de comandos con el siguiente comando
    • emulator -netdelay none -netspeed full -avd <nombreAVD> -no-snapshot -writable-system
  9. Desde otra consola ejecuta los siguientes comandos
    • adb root
    • adb shell avbctl disable-verification
    • adb disable-verity
    • adb reboot
    • adb remount
    • adb shell “su 0 mount -o rw,remount /system”
  10. Ahora ya podemos escribir en la partición /system del emulador. Continuamos “empujando” los siguientes directorios al telefono
    • adb push etc /system
    • adb push framework /system
    • adb push app /system
    • adb push priv-app /system

De esto y cómo conseguir inspeccionar el tráfico de las aplicaciones con Flutter es de lo que hablaré en RootedCON esta semana que empieza. Si eres de los afortunados que asistirá nos vemos en RootedCON.

Gracias por leer esta entrada y nos vemos en la red.

Post navigation

Estafas en Internet
Dudas si compartir esta foto….. ya es tarde !!

RRSS

  • Email
  • Instagram
  • LinkedIn
  • Twitter
  • YouTube

Recent Posts

  • Amenazas a las web. Parte II
  • Amenazas a las webs
  • Dudas si compartir esta foto….. ya es tarde !!
  • Google Play en AVDs y usuario root
  • Estafas en Internet

Podcast

  • Flickr
  • Periscope
  • Vimeo
  • YouTube

Archives

  • June 2024
  • February 2024
  • June 2023
  • March 2023
  • October 2022
  • July 2022
  • May 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • July 2019
  • June 2019
  • April 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018

Categories

  • chuletas
  • ciberseguridad
  • entrevistas
  • exploiting
  • formaciones
  • presentación
  • proyectos
  • radio
  • Uncategorized

Archives

  • June 2024
  • February 2024
  • June 2023
  • March 2023
  • October 2022
  • July 2022
  • May 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • July 2019
  • June 2019
  • April 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018

Categories

  • chuletas
  • ciberseguridad
  • entrevistas
  • exploiting
  • formaciones
  • presentación
  • proyectos
  • radio
  • Uncategorized
© 2026 blog de psaneme. Ciberseguridad y tecnología | Built with Xblog Plus free WordPress theme by wpthemespace.com