revanced-cli/docs/1_usage.md

126 lines
3.1 KiB
Markdown
Raw Normal View History

# 🛠️ Using ReVanced CLI
2023-01-08 14:37:10 +01:00
Learn how to ReVanced CLI.
2023-01-08 14:37:10 +01:00
2023-10-10 01:07:11 +02:00
## 🔨 Usage
2023-01-08 14:37:10 +01:00
2023-10-10 01:07:11 +02:00
ReVanced CLI is divided into the following fundamental commands:
2023-01-08 14:37:10 +01:00
2023-06-30 19:40:52 +02:00
- ### ⚙️ Show all available options for ReVanced CLI
2023-01-08 14:37:10 +01:00
```bash
java -jar revanced-cli.jar -h
```
2023-10-10 01:07:11 +02:00
- ### 📃 List patches
2023-01-08 14:37:10 +01:00
```bash
2023-08-23 03:08:21 +02:00
java -jar revanced-cli.jar list-patches \
--with-packages \
--with-versions \
--with-options \
2023-08-23 03:53:24 +02:00
revanced-patches.jar [<patch-bundle> ...]
2023-01-08 14:37:10 +01:00
```
2023-10-10 01:07:11 +02:00
- ### ⚙️ Generate options
2023-08-23 03:35:38 +02:00
2023-08-23 03:53:24 +02:00
This will generate an `options.json` file for the patches from a list of supplied patch bundles.
The file can be supplied to ReVanced CLI later on.
2023-08-23 03:35:38 +02:00
2023-10-07 01:14:12 +02:00
```bash
2023-08-23 03:35:38 +02:00
java -jar revanced-cli.jar options \
2023-08-23 03:53:24 +02:00
--path options.json \
2023-08-23 03:35:38 +02:00
--overwrite \
2023-08-23 03:53:24 +02:00
revanced-patches.jar [<patch-bundle> ...]
2023-08-23 03:35:38 +02:00
```
2023-10-10 01:07:11 +02:00
> [!NOTE]
> A default `options.json` file will be automatically created, if it does not exist
2023-08-23 05:39:31 +02:00
without any need for intervention when using the `patch` command.
2023-10-10 01:07:11 +02:00
- ### 💉 Patch apps
You can patch apps by supplying patch bundles and the APK file to patch.
After patching, ReVanced CLI can install the patched app on your device using two methods:
> [!NOTE]
> For ReVanced CLI to be able to install the patched app on your device, make sure ADB is working:
>
> ```bash
> adb shell exit
> ```
>
> To get your device's serial, run the following command:
>
> ```bash
> adb devices
> ```
>
> If you want to mount the patched app on top of the un-patched app, make sure you have root permissions:
>
> ```bash
> adb shell su -c exit
> ```
>
- #### 👾 Patch an app and install it on your device regularly
```bash
java -jar revanced-cli.jar patch \
--patch-bundle revanced-patches.jar \
--out patched-app.apk \
--device-serial <device-serial> \
input.apk
```
- #### 👾 Patch an app and mount it on top of the un-patched app with root permissions
> [!IMPORTANT]
> Ensure sure the same app you are patching is installed on your device:
>
> ```bash
> adb install app.apk
> ```
Patch and install the app on your device by mounting it on top of the un-patched app with root permissions:
```bash
java -jar revanced-cli.jar patch \
--patch-bundle revanced-patches.jar \
--include "Some patch" \
--exclude "Some other patch" \
--out patched-app.apk \
--device-serial <device-serial> \
--mount \
app.apk
```
> [!WARNING]
> Some patches may require integrations
> such as [ReVanced Integrations](https://github.com/revanced/revanced-integrations).
> Supply them with the option `--merge`. ReVanced Patcher will automatically determine if they are necessary.
- ### 🗑️ Uninstall an app
2023-06-30 19:40:52 +02:00
```bash
java -jar revanced-cli.jar utility uninstall \
2023-08-23 03:53:24 +02:00
--package-name <package-name> \
<device-serial>
```
2023-10-10 01:07:11 +02:00
> [!NOTE]
> You can unmount an APK file
by adding the option `--unmount`.
2023-10-10 01:07:11 +02:00
- ### ⚙️ Install an app
```bash
java -jar revanced-cli.jar utility install \
-a input.apk \
<device-serial>
```
2023-10-10 01:07:11 +02:00
> [!NOTE]
> You can mount an APK file
> by supplying the package name of the app to mount the supplied APK file to over the option `--mount`.