Learn how to ReVanced CLI.
ReVanced CLI is divided into the following fundamental commands:
-
java -jar revanced-cli.jar -h
-
java -jar revanced-cli.jar list-patches \ --with-packages \ --with-versions \ --with-options \ revanced-patches.jar [<patch-bundle> ...]
-
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.java -jar revanced-cli.jar options \ --path options.json \ --overwrite \ revanced-patches.jar [<patch-bundle> ...]
Note
A default options.json
file will be automatically created, if it does not exist
without any need for intervention when using the patch
command.
-
You can patch apps by supplying patch bundles and the app 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:
adb shell exit
To get your device's serial, run the following command:
adb devices
If you want to mount the patched app on top of the un-patched app, make sure you have root permissions:
adb shell su -c exit
Warning
Some patches may require integrations
such as ReVanced Integrations.
Supply them with the option --merge
. ReVanced Patcher will automatically determine if they are necessary.
-
java -jar revanced-cli.jar patch \ --patch-bundle revanced-patches.jar \ --device-serial <device-serial> \ input.apk
Important
Ensure sure the same app you are patching and mounting over is installed on your device:
adb install app.apk
Note
You can use the option --ii
to include or --ie
to exclude
patches by their index in relation to supplied patch bundles,
similarly to the option --include
and --exclude
.
This is useful in case two patches have the same name, and you need to include or exclude one of them.
The index of a patch is calculated by the position of the patch in the list of patches
from patch bundles supplied using the option --patch-bundle
.
You can list all patches with their indices using the command list-patches
.
Keep in mind, that the indices can change based on the order of the patch bundles supplied, as well if the patch bundles are updated, because patches can be added or removed.
```bash
java -jar revanced-cli.jar patch \
--patch-bundle revanced-patches.jar \
--include "Some patch" \
--ii 123 \
--exclude "Some other patch" \
--device-serial <device-serial> \
--mount \
app.apk
```
-
java -jar revanced-cli.jar utility uninstall \ --package-name <package-name> \ [<device-serial>]
Note
You can unmount an APK file
by adding the option --unmount
.
-
java -jar revanced-cli.jar utility install \ -a input.apk \ [<device-serial>]
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
.