Giter Site home page Giter Site logo

revanced / revanced-patches-template Goto Github PK

View Code? Open in Web Editor NEW
4.6K 82.0 463.0 575 KB

πŸ‘‹πŸ§©ReVanced Patches template

Home Page: https://revanced.app

License: GNU General Public License v3.0

Kotlin 100.00%
revanced patches reverse-engineering dalvik kotlin android

revanced-patches-template's Introduction

πŸ‘‹πŸ§© ReVanced Patches template

This is a template for creating a new ReVanced Patches repository.
The repository can have multiple patches, and patches from other repositories can be used together.

For an example repository, see ReVanced Patches.

πŸš€ Get started

To start using this template, follow these steps:

  1. Create a new repository using this template
  2. Set up the build.gradle.kts file (Specifically, the group of the project, manifest attributes, and the POM)
  3. Update dependencies in the libs.versions.toml file
  4. Create a pass-phrased GPG master key and subkey
    1. Add the private key as a secret named GPG_PRIVATE_KEY to your repository
    2. Add the passphrase as a secret named GPG_PASSPHRASE to your repository
    3. Add the fingerprint of the GPG subkey as a secret named GPG_FINGERPRINT to your repository
  5. Create a PAT with push access
    1. Add it as a secret named REPOSITORY_PUSH_ACCESS to your repository
  6. Set up the README.md file1 (e.g, title, description, license, summary of the patches that are included in the repository)

πŸŽ‰ You are now ready to start creating patches!

πŸ”˜ Optional steps

You can also add the following things to the repository:

  • Issue templates2
  • Contribution guidelines3
  • Documentation, if you want to publish your patches as a library4

πŸ§‘β€πŸ’» Usage

In order to develop and release ReVanced Patches using this template, some things need to be considered:

  • Development occurs in feature branches. Once a feature branch is ready, it is squshed and merged into the dev branch
  • The dev branch is merged into the main branch once it is ready for release
  • Semantic versioning is used for versioning ReVanced Patches. ReVanced Patches have a public API for other patches to use
  • Semantic commit messages are used for commits
  • Commits on the dev branch and main branch are automatically released via the release.yml workflow, which is also responsible for generating the changelog and updating the version of ReVanced Patches. It is triggered by pushing to the dev or main branch. The workflow uses the publish task to publish the release of ReVanced Patches
  • In order to build ReVanced Patches, that can be used on Android, the buildDexJar task needs to be run. The publish task depends on the buildDexJar task, so it will be run automatically when publishing a release.

πŸ“š Everything else

πŸ› οΈ Building

In order to build ReVanced Patches template, you can follow the ReVanced documentation.

πŸ“œ Licence

ReVanced Patches template is licensed under the GPLv3 licence. Please see the licence file for more information. tl;dr you may copy, distribute and modify ReVanced Patches template as long as you track changes/dates in source files. Any modifications to ReVanced Patches template must also be made available under the GPL along with build & install instructions.

Footnotes

  1. Example README.md file ↩

  2. Example issue templates ↩

  3. Example contribution guidelines ↩

  4. Example documentation ↩

revanced-patches-template's People

Contributors

osumatrix avatar semantic-release-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

revanced-patches-template's Issues

app.revanced.patcher.patch.PatchException: The provided path is not a directory

Change header failed: app.revanced.patcher.patch.PatchException: The provided path is not a directory: yt_premium_wordmark_header
at app.revanced.patches.youtube.layout.branding.header.ChangeHeaderPatch$execute$toCustom$1.invoke(ChangeHeaderPatch.kt:117)
at app.revanced.patches.youtube.layout.branding.header.ChangeHeaderPatch$execute$toCustom$1.invoke(ChangeHeaderPatch.kt:115)
at app.revanced.patches.youtube.layout.branding.header.ChangeHeaderPatch.execute(ChangeHeaderPatch.kt:143)
at app.revanced.patches.youtube.layout.branding.header.ChangeHeaderPatch.execute(ChangeHeaderPatch.kt:14)
at app.revanced.patcher.Patcher$apply$1.invokeSuspend$executePatch(Patcher.kt:177)
at app.revanced.patcher.Patcher$apply$1.invokeSuspend(Patcher.kt:203)
at app.revanced.patcher.Patcher$apply$1.invoke(Unknown Source:8)
at app.revanced.patcher.Patcher$apply$1.invoke(Unknown Source:4)
at kotlinx.coroutines.flow.SafeFlow.collectSafely(Builders.kt:61)
at kotlinx.coroutines.flow.AbstractFlow.collect(Flow.kt:230)
at app.revanced.manager.flutter.MainActivity$runPatcher$1$2$1.invokeSuspend(MainActivity.kt:341)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:280)
at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source:1)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)
at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source:1)
at app.revanced.manager.flutter.MainActivity.runPatcher$lambda$36(MainActivity.kt:340)
at app.revanced.manager.flutter.MainActivity.$r8$lambda$wwTqh4bVDMuwAT_qXBREk8gLHGU(Unknown Source:0)
at app.revanced.manager.flutter.MainActivity$$ExternalSyntheticLambda5.run(Unknown Source:24)
at java.lang.Thread.run(Thread.java:1012)
Compiling patched dex files
Compiled 8 dex files
Compiling modified resources
Signing APK
Patched APK
Installing patched app
Installed

Revanced Does not save historyy.

I just opened the topic, but it was about the Manager. So I need to open it again here.
YouTube Revanced suddenly stopped showing videos I watched in the past. It only shows shorts in the past. I deleted the application and microG and reinstalled them. I restarted my phone but it didn't help. Please help me
I also cleared the history. And I turned off the save history option and turned it on again, but it didn't work. Only videos I watched on YouTube shorts appear in the past.

disable landscape mode when pull down near title

At swipe control section, it has feature that disabling gesture that turn into landscapemode(in vertical way) when slide down the area where video's title is. However, even though i turned it OFF, it is still the same.

VID_20240524_223251_237.mp4

IMG_20240524_223542_053

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.