Preparación para la instalación

Este documento de preparación para la instalación describe los preparativos que debe realizar antes de la instalación. FIRERPA es compatible con una amplia variedad de tipos de dispositivos y arquitecturas. Aquí se enumeran las operaciones de preparación necesarias para varios dispositivos comunes. Puede determinar qué método utilizar según su situación real. FIRERPA se divide en un cliente y un servidor. El cliente consiste principalmente en bibliotecas e interfaces de Python, mientras que el servidor es un servicio que se ejecuta en el teléfono de destino. Puede optar por instalar la biblioteca de Python en su ordenador para controlar el teléfono. Del mismo modo, si necesita controlar el dispositivo a través de Python, deberá instalar y ejecutar el servidor de Android en el teléfono, lo cual es obligatorio.

Requisitos básicos

El entorno de ejecución ideal para FIRERPA es un dispositivo recién rooteado (por ejemplo, un emulador nuevo, una ROM con permisos integrados, un dispositivo recién rooteado con Magisk). Por favor, asegúrese de tener un dispositivo Android o emulador rooteado con más de 2 GB de RAM y más de 1 GB de espacio de almacenamiento disponible. Se recomienda usar las últimas versiones de los emuladores Nox, LDPlayer o el emulador AVD. Antes de iniciar, es imprescindible verificar lo siguiente:

  • Desactivar Magisk Hide
  • Detener frida-server
  • Reiniciar el dispositivo después de confirmar

Importante

Si no realiza las operaciones anteriores como se requiere, los problemas de compatibilidad existentes podrían impedirle usar completamente las interfaces de FIRERPA o el escritorio remoto.

Configuración del sistema

Normalmente, su teléfono también requiere las siguientes configuraciones. No son obligatorias, pero para asegurar una instalación exitosa a la primera, se recomienda completarlas si tiene tiempo.

Verificar zona horaria y hora

Abra la configuración del sistema, busque Fecha y hora, y verifique si la hora estándar de China o la zona horaria de su ubicación está configurada automáticamente. Compruebe si la hora es correcta o está dentro de un margen de error aceptable. Si no es así, desactive Usar la zona horaria proporcionada por la red y Usar la hora de la red, y configure manualmente la zona horaria y la hora a las de su ubicación actual.

Desactivar Accesibilidad

Abra la configuración del sistema, busque Accesibilidad (en Sistema o Más configuraciones), y desactive o desinstale todas las aplicaciones que usan la accesibilidad (por ejemplo, TalkBack, Auto.js, etc.).

Nota

Debido a que los servicios de accesibilidad pueden causar conflictos de funciones, verifique esto solo si no puede usar normalmente el escritorio remoto de FIRERPA o sus interfaces relacionadas.

Configuración de red

La situación de la red varía para dispositivos físicos, teléfonos en la nube, emuladores, etc. Debe completar la configuración correspondiente a su caso; de lo contrario, no podrá acceder al servicio después de la instalación.

Para un dispositivo físico, solo necesita asegurarse de que el ordenador y el teléfono estén en la misma red. Para los emuladores, la red del emulador creado por defecto normalmente no es accesible desde la red de su máquina local. Si está utilizando Android x86 (una máquina virtual de Android basada en VMWare), intente configurar el modo de red en modo puente en la configuración de la máquina virtual. Para emuladores como LDPlayer y Nox, necesita instalar el controlador según las indicaciones en su configuración, habilitar el modo puente y luego reiniciar el emulador. Para un Android Virtual Device (AVD) de Android Studio, no hay configuraciones relevantes. Si necesita conectarse a un AVD, primero ejecute adb forward tcp:65000 tcp:65000 y use localhost para la conexión.

Nota

Para los puertos de servicio reenviados o que ya están vinculados a la dirección de bucle local, recomendamos usar `localhost` en lugar de `127.0.0.1`, ya que algunas de nuestras herramientas relacionadas, como las de inspección de tráfico MITM, usan `localhost` para determinar si la conexión se basa en USB.

Otras configuraciones

WSA (Subsistema de Windows para Android)

Si está utilizando WSA (Subsistema de Windows para Android), asegúrese de que la versión de WSA no sea inferior a 2210.40000 y que esté rooteado. Luego, abra la configuración de WSA -> Recursos del subsistema -> seleccione Continuo, y desactive Redes avanzadas. Seleccione Desarrollador, active el Modo de desarrollador y expanda la pestaña, active "Support single machine UI automation" y luego reinicie el subsistema WSA.

AVD (Android Studio Virtual Device)

Si está utilizando un AVD (Android Studio Virtual Device), primero aumente el tamaño del almacenamiento y la memoria predeterminados.

Haga clic en el Virtual Device Manager en Android Studio, cree una nueva máquina virtual, luego busque la máquina virtual correspondiente y haga clic en el botón de editar (un ícono de lápiz). Haga clic en Show Advanced Settings, busque Almacenamiento -> Almacenamiento interno y configúrelo en al menos 2 GB, y establezca el tamaño de la RAM en al menos 4 GB.

Redroid (Android en Docker)

Atención

Los siguientes métodos pueden no ser aplicables a otras distribuciones de Linux.

Si está utilizando Redroid (Android en Docker), tomando como ejemplo el Ubuntu 20.04 recomendado oficialmente, primero instale los módulos relacionados con linux-modules-extra.

apt install linux-modules-extra-`uname -r`

Edite el archivo /etc/modules, copie los siguientes nombres y péguelos al final del archivo, luego reinicie la máquina anfitriona actual.

# módulos de redroid
mac80211_hwsim

binder_linux
ashmem_linux

Finalmente, use el siguiente comando para iniciar. Modifique redroid_gpu_mode y otros parámetros relevantes según su situación real.

Atención

Tenga en cuenta que el siguiente comando es diferente al oficial. Asegúrese de usarlo tal como se muestra a continuación.
docker run -itd --rm --privileged --pull always -v /lib/modules:/lib/modules:ro -v ~/redroid:/data -p 127.0.0.1:5555:5555 -p 127.0.0.1:65001:65000 redroid/redroid:12.0.0-latest androidboot.redroid_gpu_mode=guest

En el comando anterior, el puerto 65000 del contenedor se mapea al puerto 65001 del host porque algunas herramientas necesitan vincularse temporalmente al puerto 65000 del host. Para evitar conflictos, usamos el puerto 65001.

Nota

Para el contenedor de Android iniciado con el comando anterior, debe acceder a él desde la máquina anfitriona a través de `http://127.0.0.1:65001`.