En general, hay tres formas de evitar una comprobación de emulador:
- Modificar la aplicación y eliminar la comprobación de emulador.
- Modificar el emulador para que finja ser un dispositivo real.
- Modificar las llamadas al sistema que la aplicación realiza para detectar que se está ejecutando en un emulador.
Como puedes ver, las tres formas no son tan simples, sin embargo, la tercera forma puede ser la más fácil ya que existen algunas herramientas que pueden ayudarte.
Volvamos a la opción 1 - requiere muchas habilidades de desarrollo para descompilar la aplicación (por ejemplo, utilizando apktool
para descompilarla a código Smali), identificar las comprobaciones del emulador (y evitar las posibles comprobaciones de integridad de la aplicación que puedan existir).
La opción 2 es aún más difícil ya que requiere que parchees y recompiles el emulador de Android (que está disponible como código fuente).
Por lo tanto, desde mi punto de vista, solo la opción 3 es realista para ti. Sin embargo, todavía puede requerir algo de desarrollo en Java.
Puedes instalar el framework XPosed en tu emulador. Permite modificar las llamadas al sistema que la aplicación utiliza para identificar que se está ejecutando en un emulador. Hay algunos módulos XPosed existentes para ocultar que un dispositivo está rooteado o que se está ejecutando en un emulador. Si tienes suerte, puede haber un módulo existente que funcione sin necesidad de configuración adicional, permitiéndote ejecutar tu aplicación en un emulador.
0 votos
¿Has probado [Android-x86](android-x86.org)? Podrías instalar la ISO usando Virtualbox.
0 votos
@Izzy No sé a qué te refieres, no estoy pidiendo recomendaciones (bueno, si las hay, son bienvenidas), pero estoy preguntando cómo pasar por alto la capacidad de la aplicación para detectar que se está ejecutando en un emulador.
0 votos
Puedo decirte a lo que me refiero: la primera edición de tu respuesta se titulaba "¿Dónde encontrar un buen emulador de Android …". ¡Gracias a tu edición, ahora la volveré a abrir :)