YouTube Vanced is no more. But there is ReVanced

news about the YouTube Vanced project. Google demanded the closure of the project and the removal of ready-made distributions. The developers complied. Therefore, more than YouTube Vanced from the official site can not be downloaded. Perhaps there is somewhere on the mirrors, but you have to be careful. The distribution may contain harmful additives.

What was good about YouTube Vanced:

  1. Playing video in the background, including with a blank screen
  2. Playing picture-in-picture video in front of another application
  3. Lack of advertising from YouTube
  4. Lack of advertising integrations from the authors of the videos (SponsorBlock)
  5. Codec substitution
  6. Advanced video settings and a lot of little things

But the cause of liberation from advertising lives on and wins … well, almost. Now there is a project ReVanced. Allows you to patch the YouTube installation file yourself.

Documentation they are in their infancy. But you can try the project for yourself. official requirements in order to try:

  • adb. You can download from official site. Unpack the contents of the archive into the directory from which you will work. I have it C:\Soft\platform-tools
  • x64 or x86 architecture for now. Everything is clear here.
  • The apk you want to patch (eg YouTube v17.24.34 or YouTube Music v5.03.50). Make sure the same version of the app is installed on the device. Youtube package (apk) can be taken here. It is important to take not the latest version, but the one recommended by the ReVanced developers. It’s listed on the requirements page. At the time of writing, this is 17.24.34. If you take the wrong version, there will be such errors:

    WARNING: Skipping seekbar-tapping: Incompatible with version 17.24.35. This patch is only compatible with version 17.17.34, 17.19.36, 17.20.37, 17.22.36, 17.23.35, 17.23.36, 17.24.34

  • Zulu JDK 17. Take here. Just in case, the full name is “Azul Zulu Build of OpenJDK”
  • Android SDK if you plan to build the integrations from source. We won’t need it
  • I will add from myself. You must have microG. I already have it, as it is used by YouTube Vanced.

At first I tried to go to this manual. But she’s outdated. Launch keys have changed. Package links are outdated.

My sequence of actions is as follows:

  1. Download ADB and unpack. I recommend making a short path to make it easier to switch to the directory from the command line. My way C:\Soft\platform-tools
  2. Download and install the Zulu JDK. When installing, you need to activate the item to add paths to environment variables so that you can simply write java [options]
  3. Download project files: revenged-cli, revanced-patches, revanced-integrations. And of course the YouTube apk file. I recommend giving the downloaded file simple names so that it is convenient to use them on the command line. I called YouTube apk “youtube1.apk”, apk with revanced-integrations, respectively, “revanced-integrations.apk”. Copy the downloaded files to the ADB directory. That is, I copied C:\Soft\platform-tools.
  4. We start the command line, go to the directory with ADB and our files. There is such a moment. In the context menu of the catalog there is an item “Open in terminal” (Windows 11). But such a terminal worked incorrectly for me, it did not see the JAVA file being launched. Apparently, did not read the environment variables. And I saw files inside the directory only with the “.\” prefix. In general, you don’t have to do this. it is better to open the terminal in the Start menu / Start and execute the cd command:

    PS C:\Users\Evgeniy> cd C:\Soft\platform-tools\
      PS C:\Soft\platform-tools> ls
        Каталог: C:\Soft\platform-tools
    Mode                 LastWriteTime         Length Name
    ----                 -------------         ------ ----
    ------        01.01.2008      0:00        5989376 adb.exe
    ------        01.01.2008      0:00          97792 AdbWinApi.dll
    ------        01.01.2008      0:00          62976 AdbWinUsbApi.dll
    ------        01.01.2008      0:00         241664 dmtracedump.exe
    ------        01.01.2008      0:00         436224 etc1tool.exe
    ------        01.01.2008      0:00        1649152 fastboot.exe
    ------        01.01.2008      0:00          44032 hprof-conv.exe
    ------        01.01.2008      0:00         231594 libwinpthread-1.dll
    ------        01.01.2008      0:00         489984 make_f2fs.exe
    ------        01.01.2008      0:00         489984 make_f2fs_casefold.exe
    ------        01.01.2008      0:00           1157 mke2fs.conf
    ------        01.01.2008      0:00         752128 mke2fs.exe
    ------        01.01.2008      0:00        2834292 NOTICE.txt
    -a----        25.06.2022     22:22       45397186 revanced-cli-1.11.1-all.jar
    -a----        25.06.2022     22:20        1816001 revanced-integrations.apk
    -a----        25.06.2022     23:22           2040 revanced-integrations.keystore
    -a----        25.06.2022     22:10         114924 revanced-patches-1.10.5.dex
    -a----        25.06.2022     22:10         251013 revanced-patches-1.10.5.jar
    -a----        26.06.2022      0:08           2040 revanced.keystore
    ------        01.01.2008      0:00             37
    ------        01.01.2008      0:00        1162752 sqlite3.exe
    -a----        25.06.2022     22:21      137603855 youtube.apk
    -a----        25.06.2022     23:35      137603855 youtube1.apk

    try running the java command. The output should be something like this:

    PS C:\Soft\platform-tools> java
    Usage: java [options] <mainclass> [args...]
               (to execute a class)
       or  java [options] -jar <jarfile> [args...]
               (to execute a jar file)
       or  java [options] -m <module>[/<mainclass>] [args...]
           java [options] --module <module>[/<mainclass>] [args...]
               (to execute the main class in a module)
       or  java [options] <sourcefile> [args]
               (to execute a single source-file program)
     Arguments following the main class, source file, -jar <jarfile>,
     -m or --module <module>/<mainclass> are passed as the arguments to
     main class.

  5. Turn on USB debugging on your phone. On my phone, this requires slapping the build number in Phone Information 10 times to access the Developer Menu. Then select the appropriate item. The method can be different for each phone model.
  6. You need to know the phone ID. To do this, connect the phone to the computer via USB and enter the command:

    PS C:\Soft\platform-tools> adb devices
    * daemon not running; starting now at tcp:5037
    * daemon started successfully
    List of devices attached
    12345678        unauthorized  

    A window will appear on the smartphone screen asking you to authorize the connection. We agree. Run the command again to check:

    PS C:\Soft\platform-tools> ./adb devices
    List of devices attached
    12345678        device

    Now everything is fine. We need this identifier – in my example 12345678.

  7. It is necessary to decide on those patches that you do NOT want to impose. The complete list can be displayed with the following command. I recommend doing this on your computer, the developers are cheerfully making changes:

    PS C:\Soft\platform-tools> java.exe -jar .\revanced-cli-1.11.1-all.jar -b .\revanced-patches-1.10.5.jar -l
    INFO: seekbar-tapping: Enable tapping on the seekbar of the YouTube player.
    INFO: general-ads: Patch to remove general ads in bytecode.
    INFO: video-ads: Patch to remove ads in the YouTube video player.
    INFO: custom-branding: Change the branding of YouTube.
    INFO: premium-heading: Show the premium branding on the the YouTube home screen.
    INFO: minimized-playback: Enable minimized and background playback.
    INFO: disable-fullscreen-panels: Disable comments panel in fullscreen view.
    INFO: old-quality-layout: Enable the original quality flyout menu.
    INFO: disable-create-button: Disable the create button.
    INFO: amoled: Enables pure black theme.
    INFO: disable-shorts-button: Hide the shorts button.
    INFO: hide-cast-button: Patch to hide the cast button.
    INFO: microg-support: Patch to allow YouTube ReVanced to run without root and under a different package name.
    INFO: background-play: Enable playing music in the background.
    INFO: exclusive-audio-playback: Add the option to play music without video.
    INFO: codecs-unlock: Enables more audio codecs. Usually results in better audio quality but may depend on song and device.
    INFO: upgrade-button-remover: Remove the upgrade tab from the pivot bar in YouTube music.
    INFO: tasteBuilder-remover: Removes the "Tell us which artists you like" card from the Home screen. The same functionality can be triggered from the settings anyway

    I will give a list of keys available at the time of this writing. I also recommend checking the list at the time of your work:

    PS C:\Soft\platform-tools> java.exe -jar .\revanced-cli-1.11.1-all.jar -h
    Usage: ReVanced-CLI [-hV] (-b=<patchBundles> [-b=<patchBundles>]... [-l]
                        [-a=<inputFile> -o=<outputPath> [-e=<excludedPatches>]...
                        [-r] [--experimental] [-m=<mergeFiles>]... [--mount]
                        [--cn=<cn>] [--keystore=<keystorePath>] [-p=<password>]
                        [-d=<deploy>] [-t=<cacheDirectory>] [-c]])
      -a, --apk=<inputFile>      Input file to be patched
      -b, --bundles=<patchBundles>
                                 One or more bundles of patches
      -c, --clean                Clean the temporal resource cache directory. This
                                   will be done anyways when running the patcher
          --cn=<cn>              Overwrite the default CN for the signed file
      -d, --deploy-on=<deploy>   If specified, deploy to adb device with given name
      -e, --exclude=<excludedPatches>
                                 Explicitly exclude patches
          --experimental         Disable patch version compatibility patch
      -h, --help                 Show this help message and exit.
                                 File path to your keystore
      -l, --list                 List patches only
      -m, --merge=<mergeFiles>   One or more dex file containers to merge
          --mount                If specified, instead of installing, mount
      -o, --out=<outputPath>     Output file path
      -p, --password=<password>  Overwrite the default password for the signed file
      -r, --resource-patcher     Disable patching resources
      -t, --temp-dir=<cacheDirectory>
                                 Temporal resource cache directory
      -V, --version              Print version information and exit.

    For example, in the article I linked to above, the “-i” switch was used, which allowed the patch to be activated. It was necessary to list all the patches that need to be applied. But in the current version there is no such key, but there is the “-e” key, which excludes the use of certain patches. That is, it has the opposite effect compared to the old “-i” key.

  8. We check that the phone is connected to the computer and execute the command:

    PS C:\Soft\platform-tools> java.exe -jar .\revanced-cli-1.11.1-all.jar -a .\youtube1.apk -c -d 12345678 -o .\revanced.apk -b .\revanced-patches-1.10.5.jar -m .\revanced-integrations.apk
    INFO: Decoding resources
    INFO: Reading dex files
    INFO: Merging .\revanced-integrations.apk
    WARNING: Skipping background-play: Incompatible with This patch is only compatible with
    WARNING: Skipping exclusive-audio-playback: Incompatible with This patch is only compatible with
    WARNING: Skipping codecs-unlock: Incompatible with This patch is only compatible with
    WARNING: Skipping upgrade-button-remover: Incompatible with This patch is only compatible with
    WARNING: Skipping tasteBuilder-remover: Incompatible with This patch is only compatible with
    INFO: seekbar-tapping succeeded
    INFO: general-ads succeeded
    INFO: video-ads succeeded
    INFO: custom-branding succeeded
    INFO: premium-heading succeeded
    INFO: minimized-playback succeeded
    INFO: disable-fullscreen-panels succeeded
    INFO: old-quality-layout succeeded
    INFO: disable-create-button succeeded
    INFO: amoled succeeded
    INFO: disable-shorts-button succeeded
    INFO: hide-cast-button succeeded
    INFO: microg-support succeeded
    INFO: Compiling resources
    INFO: Writing modified dex files
    INFO: Writing dex file classes.dex
    INFO: Writing dex file classes3.dex
    INFO: Writing dex file classes2.dex
    INFO: Writing dex file classes4.dex
    INFO: Writing dex file classes6.dex
    INFO: Writing dex file classes5.dex
    INFO: Writing dex file classes7.dex
    INFO: Writing dex file classes8.dex
    INFO: Writing resources
    INFO: Aligning revanced_raw.apk
    INFO: Signing revanced_aligned.apk
    INFO: Found existing keystore: revanced
    INFO: Copying revanced_signed.apk to revanced.apk
    INFO: Installing without mounting
    INFO: Finished

    The package will be prepared and installed on the phone. Important. The package name in the “-o .\revanced.apk” switch is the output name of the package being created. It does not yet exist at the time the command is launched. Any name can be chosen. We learned the device ID in the “-d 12345678” key in step 6.

    An example command if we want to exclude some patches:

    java.exe -jar .\revanced-cli-1.11.1-all.jar -a .\youtube1.apk -c -d 6535d72f -o .\revanced.apk -b .\revanced-patches-1.10.5.jar -m .\revanced-integrations.apk -e custom-branding -e premium-heading -e amoled

  9. It remains to check that the application has appeared on the phone and works.

Of the minuses noticed – there is no fine-tuning of the video, as was the case with YouTube Vanced. And there is no filter for advertising integration of video authors. And a clear minus – this whole operation must be done regularly with the release of new versions of YouTube and ReVanced patches to it

Telegram channel of the team

Community on Reddit

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *