The Tool now supports resource config at app level. You can patch A app with X resources while patching B with Y resources. This can be done by providing supported download links for resources for the app. Another new major addition is to be able patch any supported app in the patches.json, irrespective of the official apps present in the repository configs. Read more...
Are you tired of patching ReVanced apps on your mobile devices? Which version to patch and which apk to provide for patching? Is the waiting period long enough and still the patch doesn't work as it should? Device compatibility issues? Auto-updates?... All that can be accomplished with the help of this github repository (for patching & building) and this RVX-Builds project in Tasker (for interactive selection & automation).
Note: Neither the mentioned github repository nor the Tasker project are in anyway officially related to ReVanced Team. All this work falls under 3rd party so please don't ask for support from ReVanced Team regarding it.
- GitHub Account (Free)
- Tasker (Trial -> Paid)
- Join (Trial -> Paid; Optional)
I think that there might be possibility that some people would've already forked the parent repository of @nikhilbadyal or it's child repository (for example, of @Spacellary). So, here are listed files (may or may not replace originals) which you can copy to repository clone folder and push those changes. It'll make your repository eligible to be used in Automation and somewhat similar to mine. Proceed with patch methods.
There are actually two ways to patch apps - Manual & Automated. The Manual way simply requires the GitHub Repository only and you've to do all the work yourself like customizing the patches, downloading & installing built apks. The Automated way requires the GitHub Repository as well as the RVX-Builds project in Tasker. In the automated way, you can easily customize and configure many more properties using Tasker.
If you're doing it for the first time, I'd suggest you to go with Manual method to make yourself accustomed with the different patching terms in the repository and configure some necessary setups before automating.
Here's the manual way to patch apps.
- Create a GitHub account if you haven't.
- Fork this repository under any name.
- Read this page onwards. This is to customize the patching. After going through, you must have prepared an
.envfile. - Congrats, you're ready to patch these apps.
- Go to
Actionstab. SelectBuild & Release. Click onRun Workflowbutton. - Wait for sometime while it patches and build all those apps mentioned in the
.envfile. - Once complete and successful, you'll get your patched apks in the
Releasessection. - Download & install those apks. Now, you've installed the patched apps!!
- Here are some extra things to configure.
It'll be better for yourself if you have some basic knowledge about Tasker like knowing about tasks, profiles, events, states, projects.
- Go to this page and
Generate new token > Classic. EnterRVX-Buildsin Note, set any expiration period and select these scopes (sufficient) -repo, workflow, write:packages. ClickGenerate Token. Note the token -ghp_* - Import RVX-Builds project on Tasker and setup the GitHub credentials. It'll popup itself for you to setup or you can run
RVX-Builds - SetupTask inTasksTab insideRVX-BuildsProject. Projects are listed horizontally on bottom bar. - Once completed, you're ready to customize patches. Run
RVX-Builds - Managertask to do so. It'll consist of menu items -- Apps: To modify app related properties. (Must configure)
- Downloads: To modify download & installation of app properties. (Must configure)
- Merge: To merge your customization (locally on Tasker) with the
.envfile in your GitHub Repo. Only shown if you've made customization changes in Apps or clicked it (i.e. always open Apps even when you don't need to change). - Releases: To build your patched apps and release them. Set the above options accordingly and make a stable or a pre-release.
- If you have access to Join paid version, enable
RVX-Builds - New Release [Join]Profile inProfilesTab. Also enableRVX-Builds - Check For Updatesif you want it to handle cancelled or errored out downloads due to any reason. Also, you need to add JOIN API secrets. Here's how to do it. - If you don't have access to Join paid version, enable
RVX-Builds - Check For UpdatesProfile inProfilesTab. DisableRVX-Builds - New Release [Join]in this case. - After the successful release, the workflow would make an API call to Join (
RVX-Builds - New Release [Join]) which would ultimately initialize an event and the downloader & installer task would run and work based upon your configuration ofDownloadsmenu option inRVX-Builds - Managertask. Another workaround is that this profileRVX-Builds - Check For Updateswould periodically (20 min; you can change) perform checks. It can also handle cancelled or errored out downloads. - Finally, after all the downloading or installation, there'll be a notification to let you know that it was successful. Note that, it requires ADB Wifi access to Tasker to let it install apps in the background.
- Patched apps have been installed and apks are at
/storage/emulated/0/Tasker/rvx-builds/downloads/REPO_RELEASE_TAG_NAME/*.apk. Note that you shouldn't delete any of those apks otherwise you'd face infinite-looping of downloads because of6th - RVX-Builds - Check For Updates. You may disable actionA11 - Handle Cancelled Downloadsin the linked task as a solution to it or select not to handle it inDownloadsmenu options.
Note:
- Initialization of the tasks may take sometime at some-points due to heavy scripting process. Kindly don't worry about all that. Also, make sure that you've a decent internet connection speed.
- Read here for more details on the automation functionalities.
The patching is done using the CLI for all the builds. The /apks folder is used as the base folder in which you can source your options.json or whatever necessary files you need. Here's the list of patch apps and incompletely generated options.json which you can look into.
Note: A possible error while installing the released patched apks can be due to signature mismatch of the apk and it's installed app. In this case, either provide the same the keystore file to sign apks in /apks folder in GitHub repository and add GLOBAL_KEYSTORE_FILE_NAME=*.keystore in .env file OR simply delete (make backup if possible; one-time process) those already installed non-patched (same package) or patched apps.
The RVX-Builds - Project Updates profile will let you know of any updates I push so, make sure it's enabled.
Taskernet - RVX-Builds
Changelogs
- Thanks to @ReVanced for ReVanced.
- Thanks to @inotia00 for ReVanced Extended.
- Thanks to @nikhilbadyal for his amazing work.
- Thanks to @Spacellary for his work in making the customized parent fork.
I'll try my best to help you regarding this project. Make sure you've read everything here, repository synced & tasker project up-to-date and outcome is same from multiple reproductions. Still if any issues persist, you're free to open discussions, issues & PRs. Kindly have some patience after creating them.