Installation Preparation¶
This installation preparation document describes what you should prepare before installation. FIRERPA supports many device types and architectures. Here we list operations that various common devices need to prepare in advance. You can determine which method to use according to your actual situation. FIRERPA is divided into client and server components. The client mainly consists of Python-related libraries and interfaces, while the server runs on the target phone. You can choose to install the Python library on your computer to control the phone. Similarly, if you need to control the device through Python, you need to install and run the Android server on your phone, which is mandatory.
Basic Requirements¶
The ideal running environment for FIRERPA is a device that has just been rooted (e.g., a newly created emulator, a ROM with built-in permissions, or a device that has just been rooted with Magisk). Please ensure you have an Android device or emulator that is rooted, has more than 2GB of RAM, and more than 1GB of available storage space. We recommend using the latest versions of NoxPlayer, LDPlayer, or AVD emulators. Before starting, be sure to check the following items:
Turn off Magisk Hide
Turn off frida-server
Restart the device after confirmation
Important
If you do not perform the above operations as required, compatibility issues may prevent you from fully using FIRERPA interfaces or remote desktop normally.
System Settings¶
Usually, your phone also needs to undergo the following settings. These are not mandatory, but to ensure success on the first try, we recommend that you complete the following settings when you have time.
Check Time Zone and Time¶
Open System Settings, find Date and Time, check if China Standard Time or the time zone of your location has been automatically set, and check if the time is correct or within an acceptable margin of error. If not, turn off Use network-provided time zone and Network time, and manually set the time zone and time to your current location’s time zone and time.
Turn Off Accessibility¶
Open System Settings, find Accessibility (in System or More Settings), turn off or uninstall all applications using accessibility (such as talkback, autojs, etc.).
Note
Since accessibility may cause related function conflicts, only check this when you cannot use FIRERPA remote desktop or related interfaces normally.
Network Settings¶
The network situations of real devices, cloud phones, emulators, and other devices are all different. You need to complete the corresponding settings according to actual conditions, otherwise, you will not be able to access the service normally after installation.
For real devices, you only need to ensure that the computer and phone are on the same network. For emulators, the default created emulator is not normally connected to your local network. If you are using android x86 (an Android virtual machine based on VMWare), please try to set the network mode to bridge mode in the virtual machine settings. For emulators like LDPlayer and NoxPlayer, you need to install drivers according to the prompts in their settings and enable bridge mode, then restart the emulator. For Android Studio’s Virtual Device, there are no related settings. If you need to connect to AVD, please first execute adb forward tcp:65000 tcp:65000
, and use localhost
to connect.
Note
For forwarded or server ports originally bound to the loopback address, we recommend using localhost instead of 127.0.0.1, because some of our related tools, such as man-in-the-middle packet capture, will determine whether it is USB-based based on localhost.
Other Settings¶
WSA (Windows Subsystem Android)¶
If you are using WSA (Windows Subsystem Android), please ensure that the WSA version is not lower than 2210.40000 and it has been rooted. Then open WSA Settings -> Subsystem Resources -> select Continuous, turn off Advanced Networking. Select Developer, turn on Developer mode and expand the options tab, turn on “Support single machine UI automation”, then restart the WSA subsystem.
AVD (Android Studio Virtual Device)¶
If you are using AVD (Android Studio Virtual Device), please first expand the default storage space and memory size.
Click Virtual Device Manager in Android Studio, create a new virtual machine, then find the corresponding virtual machine and click the edit button (a pen symbol) behind it, click Show Advanced Settings, find Storage -> Internal Storage and set it to at least 2GB, and set the RAM size to at least 4GB.
Redroid (android in docker)¶
Attention
The following method may not apply to other Linux distributions.
If you are using Redroid (android in docker), taking the official recommended Ubuntu 20.04
as an example, first install the linux-modules-extra related modules.
apt install linux-modules-extra-`uname -r`
Edit the file /etc/modules
, copy and insert the following names at the bottom of the file, and restart the current host machine.
# redroid modules
mac80211_hwsim
binder_linux
ashmem_linux
Finally, use the following command to start. Please modify redroid_gpu_mode
and other related parameters according to actual conditions.
Attention
Note that the following command is different from the official one. Please be sure to use the command as follows.
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, mapping container port 65000 to the local machine’s port 65001 is because some tools need to temporarily bind to the local machine’s port 65000. To avoid conflicts, we use port 65001.
Note
For the Android container started with the above command, you need to access it through http://127.0.0.1:65001
on the host machine.