> For the complete documentation index, see [llms.txt](https://summit-labs.frida.ninja/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://summit-labs.frida.ninja/lab/1-lab-setup-and-initial-app-exploration/1.1-upload-frida-server-to-the-emulator-or-device-and-run-using-nohup.md).

# \[1.1] Upload frida-server to the emulator or device and run using nohup

#### Upload frida-server

First, let's test to make sure that we have working connectivity over ADB (Android Debug Bridge).

{% hint style="info" %}
This lab is also covered off in the [Environment Setup video walkthrough](/setting-up/before-you-start-prerequisites.md#video-walkthrough-environment-setup).
{% endhint %}

Open a commandline and type `adb devices`

![If you see any other devices listed, disconnect or power them off.](/files/-M-Eq39k1jGjnpCMbA3s)

In order for frida to work, we need it's companion `frida-server`, to be running on the device. You can download it from the frida [releases page on Github](https://github.com/frida/frida/releases) - make sure you get the one ending in "android-x86".

Push it to `/data/local/tmp` with `adb push frida-server-12.8.20-android-x86 /data/local/tmp`

![](/files/-M4V1Nz7HdlxaSTbglgc)

Obtain root with `adb root`, then connect to your device with `adb shell`. Navigate to the /data/local/tmp directory with `cd /data/local/tmp` .&#x20;

At this point I prefer to rename frida-server to something a little less annoying to type: `mv frida-server-12.8.20-android-x86 frida-server`

Make the server executable with `chmod 777 frida-server`

#### Run frida-server persistently using nohup

Start the server with `nohup ./frida-server &`

{% hint style="warning" %}
The reason we are using nohup is to keep the process running even if we close our ADB terminal. You can absolutely just run ./frida-server but then you must be mindful not to close the window.
{% endhint %}

To recap:

![](/files/-M4V8R2zDKSoEc4lcWhX)
