For Windows users, visit ReVanced CLI Initialize Guide (Windows).
For Linux users, visit ReVanced CLI Initialize Guide (Linux).
Run the following commands, replacing the placeholder filenames with the actual filename.
java -jar cli.jar patch -b patches.jar -m integrations.apk -o out.apk input.apk
placeholder | meaning | example |
---|---|---|
cli.jar |
revanced-cli jar file | revanced-cli-2.22.0-all.jar |
input.apk |
the apk you want to patch | youtube.apk |
patches.jar |
revanced patches bundles | revanced-patches-2.187.0.jar |
integration.apk |
revanced integrations | revanced-integrations-0.115.1.apk |
out.apk |
the filename of the patched apk | patched.apk |
Example:
java -jar revanced-cli-3.1.0-all.jar patch -b revanced-patches-2.190.0.jar -m revanced-integrations-0.117.1.apk -o out.apk youtube.apk
- Copy the patched APK file to your phone
- Install the APK you just transferred
- Read the troubleshooting section if you have further issues
!!! You may need to install GmsCore if you used the GmsCore support patch, which is the default when patching YouTube related apps. !!!
- Delete the old
cli.jar
,patches.jar
,integration.jar
,out.apk
,input.apk
- Repeat from section 1
java -jar cli.jar -h
java -jar cli.jar patch
java -jar cli.jar patch \
--keystore='exported.keystore' --keystore-password='passwordOfKeystore' \
--alias='alias' --keystore-entry-password='passwordOfKeystoreEntry' \
-b patches.jar ...
java -jar cli.jar list-patches -opv patches.jar
java -jar cli.jar patch -e 'Exclude patch 1' -e 'Exclude patch 2' -i 'Include patch 1' -i 'Include patch 2' ...
# This will overwrite the existing file
# Use -u instead of -o if you want to update existing file
java -jar cli.jar options -o patches.jar
# You need to generate options file first
java -jar cli.jar patch --options=path-to-options-file ...
Some settings for patches has to be configured via the option file. Don't change them unless you know what you are doing. Don't modify more things than you need to.
!!!
When pasting the path, make sure to use absolute path and escape any \
to avoid issues. You can escape them by putting another \
before it.
!!!
!!! ALL value entry should have quotes, except null. Example: "value": "YouTube ReVanced" !!!
Patch | Key | Default value | Type | Example |
---|---|---|---|---|
Change package name | packageName | null | pkgName | "app.revanced.android.youtubealt" |
Custom branding | appName | "YouTube ReVanced" | string | "new app name" |
Custom branding | iconPath | null | path | "C:\\Users\\test\\Downloads\\res\\" 1 |
Spoof client | client-id | null | string | "abcdef" 2 3 |
Spotify theme | backgroundColor | "@android:color/black" | string | "@android:color/black" 4 5 |
Spotify theme | accentColor | "#ff1ed760" | AARRGGBB color code | "#ff1ed761" |
Spotify theme | accentPressedColor | "#ff169c46" | AARRGGBB color code | "#ff169c47" |
Theme | darkThemeBackgroundColor | "@android:color/black" | string | "@android:color/holo_blue_dark" 4 5 |
Theme | lightThemeBackgroundColor | "@android:color/white" | string | "@android:color/holo_purple" 4 5 |
Footnotes
-
Don't change this option unless absolutely necessary ↩
-
This option is used when patching many apps, including (but not limited to) reddit, youtube and spotify ↩
-
Color values can be found here, make sure you have a higher API level than when the color was added ↩ ↩2 ↩3
-
You can also use colors at
revanced-cache/res/values/colors.xml
6, reference them by "@color/color_name" ↩ ↩2 ↩3 -
You can also edit that file after revanced deleted the cache to include custom colors ↩