10 votos

¿Emulador de Android Studio con tanto la Google Play Store como Root?

https://developer.android.com/studio/run/managing-avds#system-image dice

Para garantizar la seguridad de la aplicación y una experiencia consistente con los dispositivos físicos, las imágenes del sistema con Google Play Store incluido están firmadas con una clave de lanzamiento, lo que significa que no se pueden obtener privilegios elevados (root) con estas imágenes. Si necesita privilegios elevados (root) para ayudar con la solución de problemas de su aplicación, puede utilizar las imágenes del sistema del Proyecto de Código Abierto de Android (AOSP) que no incluyen aplicaciones o servicios de Google.

Pero, ¿qué pasaría si quisiera tener tanto root COMO servicios de Google? ¿Cómo podría hacer eso?

¡Gracias!

0 votos

El autor de Magisk topjohnwu dice que es posible: twitter.com/topjohnwu/status/1070241061010857984 y también hay este archivo en el repositorio de Magisk: github.com/topjohnwu/Magisk/blob/master/scripts/emulator.sh también ver github.com/topjohnwu/Magisk/issues/732#issuecomment-446542064

2 votos

Ambas soluciones funcionan con las imágenes del sistema de Play Store: MagiskOnEmulator, Scripts AVD Oficiales de Magisk

2voto

user36440 Puntos 115

Primero ve aquí:

https://opengapps.org

Yo seleccioné esta opción:

Plataforma

Android

Variante

x86

6

pico

pero una versión más reciente de Android también debería funcionar. Luego abre Android Studio. En la pantalla "Seleccionar Hardware", elige un dispositivo sin el icono de "Play Store".

Con Google APIs

En la pantalla "Imagen del Sistema", seleccioné esta opción:

Nivel de API

ABI

Objetivo

24

x86

Android 7 Google APIs

pero versiones más nuevas de las APIs también deberían funcionar. Solo necesitarás un archivo de la carpeta Zip:

Core\vending-x86.tar.lz

Dentro de este archivo habrá otro archivo:

vending-x86\nodpi\priv-app\Phonesky\Phonesky.apk

Ahora, inicia el dispositivo:

emulator -list-avds
emulator -avd Pixel_3a_XL_API_24 -writable-system

Luego, instala Google Play Store. Ten en cuenta que no puedes usar el método normal de arrastrar el APK a la pantalla del dispositivo, o obtendrás uno de estos errores:

El APK no se pudo instalar. Error: No se pudo analizar la cadena de error

El APK no se pudo instalar. Error: INSTALL_FAILED_UPDATE_INCOMPATIBLE: El paquete com.android.vending no coincide con la versión previamente instalada; ¡ignorando!

El APK no se pudo instalar. Error: INSTALL_PARSE_FAILED_NO_CERTIFICATES: No se pudieron recopilar certificados de /data/app/vmdl1047870024.tmp/base.apk: META-INF/BNDLTOOL.SF indica que /data/app/vmdl1047870024.tmp/base.apk está firmado con APK Signature Scheme v2, pero no se encontró tal firma. ¿Firma eliminada?

Instala de la siguiente manera:

adb root
adb remount
adb push Phonesky.apk /system/priv-app
adb reboot

Después del reinicio, deberías poder iniciar Google Play Store normalmente.

Sin Google APIs

Usando el método anterior con la imagen de Google APIs, aún obtienes algunas aplicaciones como YouTube. Si deseas instalar una versión diferente de una de estas aplicaciones, utiliza este método. En la pantalla "Imagen del Sistema", seleccioné esta opción:

Nivel de API

ABI

Objetivo

24

x86

Android 7

pero versiones más nuevas de las APIs también deberían funcionar. Necesitarás estos archivos de la carpeta Zip:

Core\gmscore-x86.tar.lz
Core\vending-x86.tar.lz

Luego extrae estos archivos de los anteriores:

gmscore-x86\nodpi\priv-app\PrebuiltGmsCore\PrebuiltGmsCore.apk
vending-x86\nodpi\priv-app\Phonesky\Phonesky.apk

Utiliza el mismo método anterior para instalar los APKs. Después del reinicio, deberías poder instalar YouTube u otra aplicación. Ten en cuenta que a diferencia de lo anterior, no necesitas ejecutar la configuración de Google Play o incluso iniciar la aplicación de Google Play al final.

Enlaces Externos

https://github.com/89z/googleplay/blob/f98b78a7/docs/play-store.md

0 votos

¿Hacer esto hace que el emulador esté rooteado? ¿O en otras palabras, ¿las aplicaciones que necesitan acceso root pueden ejecutarse en el emulador?

1 votos

adb root proporciona acceso root solo al shell para uso en la línea de comandos, no a las aplicaciones. Probar aplicaciones root requiere rootear el emulador de todos modos, ya sea con la imagen de Play Store o no.

0 votos

@Zombo, por favor cálmate. Y vuelve a leer el comentario de Andrew. No "discrepo" con tu respuesta. Es solo una solución parcial al problema de rootear. Para muchos usuarios, el root es necesario para probar aplicaciones, no solo para emitir comandos. Tu caso de uso parece ser muy limitado.

0voto

iRed Puntos 1

Creo que la mejor acción sería descargar e instalar un Emulador de Android de terceros. Si estás en Windows, te recomiendo Bluestacks. Ya que puede ser fácilmente rooteado con este tutorial aquí. Si necesitas ayuda, no dudes en responder a este mensaje.

¡Espero que te sea útil!

Red Prez

0 votos

¿Qué recomiendas para Linux?

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X