# [21.1.0](https://github.com/ReVanced/revanced-patcher/compare/v21.0.0...v21.1.0) (2025-10-16) ### Bug Fixes * Add back missing log by naming logger correctly ([#332](https://github.com/ReVanced/revanced-patcher/issues/332)) ([e4e66b0](e4e66b0d8b)) * Correctly save XML files in UTF-8 by using a bufferedWriter ([#356](https://github.com/ReVanced/revanced-patcher/issues/356)) ([33fadcb](33fadcbd0c)) * Encode XML files as UTF-8 to fix compilation of resources ([#339](https://github.com/ReVanced/revanced-patcher/issues/339)) ([4f2ef3c](4f2ef3c47c)) * Support UTF-8 chars when compiling instructions in Smali in non UTF-8 environments ([#331](https://github.com/ReVanced/revanced-patcher/issues/331)) ([bb8771b](bb8771bb8b)) ### Features * Add identity hash code to unnamed patches ([88a3252](88a3252574)) * Use option name as key for simplicity and consistency ([754b02e](754b02e4ca)) ### Performance Improvements * Use a buffered writer to reduce IO overhead ([#347](https://github.com/ReVanced/revanced-patcher/issues/347)) ([99f4318](99f431897e))
Continuing the legacy of Vanced
💉 ReVanced Patcher
ReVanced Patcher used to patch Android applications.
❓ About
ReVanced Patcher is a library that is used to patch Android applications.
It powers ReVanced Manager,
ReVanced CLI
and ReVanced Library and a rich set of patches have been developed
using ReVanced Patcher in the ReVanced Patches repository.
💪 Features
Some of the features the ReVanced Patcher provides are:
- 🔧 Patch Dalvik VM bytecode: Disassemble and assemble Dalvik bytecode
- 📦 Patch APK resources: Decode and build Android APK resources
- 📂 Patch arbitrary APK files: Read and write arbitrary files directly from and to APK files
- 🧩 Write modular patches: Extensive API to write modular patches that can patch Dalvik VM bytecode, APK resources and arbitrary APK files
🚀 How to get started
To use ReVanced Patcher in your project, follow these steps:
-
Add the repository to your project
-
Add the dependency to your project:
dependencies { implementation("app.revanced:revanced-patcher:{$version}") }
For a minimal project configuration, see ReVanced Patches template.
📚 Everything else
📙 Contributing
Thank you for considering contributing to ReVanced Patcher. You can find the contribution guidelines here.
🛠️ Building
To build ReVanced Patcher, you can follow the ReVanced documentation.
📃 Documentation
The documentation contains the fundamentals of ReVanced Patcher and how to use ReVanced Patcher to create patches. You can find it here.
📜 Licence
ReVanced Patcher is licensed under the GPLv3 license. Please see the licence file for more information. tl;dr you may copy, distribute and modify ReVanced Patcher as long as you track changes/dates in source files. Any modifications to ReVanced Patcher must also be made available under the GPL, along with build & install instructions.