Installation Preparation¶
The installation preparation document outlines what you should prepare before installing FIRERPA. Since FIRERPA supports a wide range of device types and architectures, this guide lists the necessary preparatory steps for various common devices. You can choose the appropriate method based on your actual situation. FIRERPA consists of two main components: the client and the server. The client primarily includes Python libraries and interfaces, while the server runs as a service on the target mobile device. You can install the Python library on your computer to control the phone. However, if you wish to control the device via Python, you must install and run the Android server component on the phone.
Basic Requirements¶
The ideal operating environment for FIRERPA is a freshly rooted device (e.g., a newly created emulator, a ROM with built-in root permissions, or a device recently rooted using Magisk). Please ensure you have an Android device or emulator that is rooted, has more than 2GB of RAM, and at least 1GB of available storage space. We recommend using the latest versions of Nox Player, LDPlayer, or the AVD (Android Virtual Device) emulator. Before launching, make sure to check the following items:
Disable Magisk Hide
Stop frida-server
Reboot the device after confirmation
Important
Failure to follow the above steps may result in compatibility issues that prevent full functionality of FIRERPA interfaces or remote desktop features.
System Settings¶
In most cases, additional system settings adjustments are required. These are not mandatory but are highly recommended to ensure a successful setup when time permits.
Check Time Zone and Time¶
Open system settings, navigate to Date & Time, and verify whether China Standard Time (or your local time zone) is set automatically. Ensure the displayed time is accurate or within an acceptable margin of error. If not, disable Use network-provided time zone and Network time, then manually set the correct time zone and time according to your current location.
Disable Accessibility Services¶
Open system settings and locate Accessibility (usually under System or Additional Settings). Disable or uninstall all apps that use accessibility services (such as TalkBack, Auto.js, etc.).
Note
Accessibility services may cause functional conflicts. Only perform this check if you encounter issues using FIRERPA’s remote desktop or related interfaces.
Network Configuration¶
Network configurations vary across physical devices, cloud phones, and emulators. You must configure the network according to your specific device type; otherwise, you may be unable to access the service after installation.
For physical devices, ensure your computer and phone are on the same network.
For emulators, by default, the emulator’s network is not directly accessible from your host machine. If you’re using an x86 Android VM (like one based on VMware), change the virtual machine’s network mode to Bridge Mode in its settings.
For emulators such as LDPlayer or Nox, follow the instructions in their settings to install drivers and enable bridge mode, then restart the emulator.
For Android Studio Virtual Devices (AVD), there is no direct bridge mode setting. To connect, first execute:
adb forward tcp:65000 tcp:65000Then connect using
localhost.
Note
For forwarded ports or services originally bound to loopback addresses, we recommend using localhost instead of 127.0.0.1, as some of our tools (e.g., man-in-the-middle packet capture) rely on localhost to determine USB-based usage.
Additional Configurations¶
WSA (Windows Subsystem for Android)¶
If using WSA (Windows Subsystem for Android), ensure your WSA version is at least 2210.40000 and that it is rooted. Then go to WSA Settings → Subsystem Resources → select Continuous, and disable Advanced Networking. Under Developer options, enable Developer mode, expand the options panel, and turn on Support single machine UI automation. Finally, restart the WSA subsystem.
AVD (Android Studio Virtual Device)¶
If using AVD (Android Studio Virtual Device), increase the default storage and memory allocation.
In Android Studio, open the Virtual Device Manager, create a new virtual device, then find the corresponding device and click the edit button (pencil icon). Click Show Advanced Settings, go to Storage → Internal Storage, and set it to at least 2GB. Set the RAM size to at least 4GB.
Redroid (Android in Docker)¶
Attention
The following method may not work on other Linux distributions.
If using Redroid (Android running in Docker), using the officially recommended Ubuntu 20.04 as an example, first install the linux-modules-extra package:
apt install linux-modules-extra-`uname -r`
Edit the file /etc/modules, copy and paste the following module names to the end of the file, then reboot the host machine:
# redroid modules
mac80211_hwsim
binder_linux
ashmem_linux
Finally, start the container with the command below. Adjust parameters like redroid_gpu_mode as needed.
Attention
Note: The following command differs slightly from the official version. Please use the exact command shown below.
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
In the above command, port 65000 inside the container is mapped to port 65001 on the host to avoid conflicts, since certain tools may temporarily bind to port 65000 on the host.
Note
After starting the Android container with the above command, access it from the host via http://127.0.0.1:65001.