# Built-in ADB

The built-in ADB service is completely independent of the system's own ADB. Before use, you need to manually install the ADB public key into the service, otherwise the connection will show as unauthorized (the key authorized in system developer mode is not shared with this built-in ADB). With this feature, you can connect wirelessly to a highest-privilege ADB **without enabling system developer mode**, which can be used to hide developer mode detection.

```{attention}
If you intend to use adb for JDWP application debugging, because JDWP debugging related functions have system uniqueness and conflict with the system's built-in JDWP debugging function, this built-in ADB is currently unable to support it.
```

## Install Key (API)

To install the key, you need to have the ADB public key ready. It is usually located in the `~/.android` or `C:\\Users\\name\\.android` directory, with the filename `adbkey.pub`. If you only have `adbkey` without the `.pub` file, you can generate it manually by executing the command `adb pubkey adbkey >adbkey.pub`.

```python
d.install_adb_pubkey("/path/to/adbkey.pub")
```

## Uninstall Key (API)

```python
d.uninstall_adb_pubkey("/path/to/adbkey.pub")
```

## Use the Tool Script to Install/Uninstall the Public Key

The following command will install your current local machine's ADB public key into the FIRERPA service.

```{note}
Before running adb_pubkey.py, please complete the environment configuration in [Tool Preparation](./tools-prepare.md) (such as CERTIFICATE, PORT, etc.).
```

```bash
python3 -u adb_pubkey.py install 192.168.1.2
```

Uninstall the public key:

```bash
python3 -u adb_pubkey.py uninstall 192.168.1.2
```

## Connect to Built-in ADB

After installing the public key, execute the following command to connect to the built-in ADB service.

```bash
adb connect 192.168.1.2:65000
```