{"id":14529723,"url":"https://github.com/ReVanced/revanced-library","last_synced_at":"2025-09-02T00:32:23.595Z","repository":{"id":196384323,"uuid":"695573398","full_name":"ReVanced/revanced-library","owner":"ReVanced","description":"📚 Library containing common utilities for ReVanced","archived":false,"fork":false,"pushed_at":"2024-11-25T21:30:11.000Z","size":617,"stargazers_count":45,"open_issues_count":14,"forks_count":11,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-11-25T22:29:26.554Z","etag":null,"topics":["gradle","kotlin","library","revanced"],"latest_commit_sha":null,"homepage":"https://revanced.app","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ReVanced.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"ReVanced","open_collective":"ReVanced"}},"created_at":"2023-09-23T15:24:57.000Z","updated_at":"2024-11-24T10:15:39.000Z","dependencies_parsed_at":"2023-10-03T05:37:00.678Z","dependency_job_id":"b9316924-e4f6-4d17-afe6-25376e3a3182","html_url":"https://github.com/ReVanced/revanced-library","commit_stats":null,"previous_names":["revanced/revanced-library"],"tags_count":59,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReVanced%2Frevanced-library","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReVanced%2Frevanced-library/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReVanced%2Frevanced-library/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ReVanced%2Frevanced-library/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ReVanced","download_url":"https://codeload.github.com/ReVanced/revanced-library/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231727115,"owners_count":18417390,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gradle","kotlin","library","revanced"],"created_at":"2024-09-05T00:01:01.933Z","updated_at":"2024-12-29T10:30:39.458Z","avatar_url":"https://github.com/ReVanced.png","language":"Kotlin","readme":"\u003cp align=\"center\"\u003e\n  \u003cpicture\u003e\n    \u003csource\n      width=\"256px\"\n      media=\"(prefers-color-scheme: dark)\"\n      srcset=\"assets/revanced-headline/revanced-headline-vertical-dark.svg\"\n    \u003e\n    \u003cimg \n      width=\"256px\"\n      src=\"assets/revanced-headline/revanced-headline-vertical-light.svg\"\n    \u003e\n  \u003c/picture\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://revanced.app/\"\u003e\n     \u003cpicture\u003e\n         \u003csource height=\"24px\" media=\"(prefers-color-scheme: dark)\" srcset=\"assets/revanced-logo/revanced-logo.svg\" /\u003e\n         \u003cimg height=\"24px\" src=\"assets/revanced-logo/revanced-logo.svg\" /\u003e\n     \u003c/picture\u003e\n   \u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n   \u003ca href=\"https://github.com/ReVanced\"\u003e\n       \u003cpicture\u003e\n           \u003csource height=\"24px\" media=\"(prefers-color-scheme: dark)\" srcset=\"https://i.ibb.co/dMMmCrW/Git-Hub-Mark.png\" /\u003e\n           \u003cimg height=\"24px\" src=\"https://i.ibb.co/9wV3HGF/Git-Hub-Mark-Light.png\" /\u003e\n       \u003c/picture\u003e\n   \u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n   \u003ca href=\"http://revanced.app/discord\"\u003e\n       \u003cpicture\u003e\n           \u003csource height=\"24px\" media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/13122796/178032563-d4e084b7-244e-4358-af50-26bde6dd4996.png\" /\u003e\n           \u003cimg height=\"24px\" src=\"https://user-images.githubusercontent.com/13122796/178032563-d4e084b7-244e-4358-af50-26bde6dd4996.png\" /\u003e\n       \u003c/picture\u003e\n   \u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n   \u003ca href=\"https://reddit.com/r/revancedapp\"\u003e\n       \u003cpicture\u003e\n           \u003csource height=\"24px\" media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/13122796/178032351-9d9d5619-8ef7-470a-9eec-2744ece54553.png\" /\u003e\n           \u003cimg height=\"24px\" src=\"https://user-images.githubusercontent.com/13122796/178032351-9d9d5619-8ef7-470a-9eec-2744ece54553.png\" /\u003e\n       \u003c/picture\u003e\n   \u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n   \u003ca href=\"https://t.me/app_revanced\"\u003e\n      \u003cpicture\u003e\n         \u003csource height=\"24px\" media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/13122796/178032213-faf25ab8-0bc3-4a94-a730-b524c96df124.png\" /\u003e\n         \u003cimg height=\"24px\" src=\"https://user-images.githubusercontent.com/13122796/178032213-faf25ab8-0bc3-4a94-a730-b524c96df124.png\" /\u003e\n      \u003c/picture\u003e\n   \u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n   \u003ca href=\"https://x.com/revancedapp\"\u003e\n      \u003cpicture\u003e\n         \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/93124920/270180600-7c1b38bf-889b-4d68-bd5e-b9d86f91421a.png\"\u003e\n         \u003cimg height=\"24px\" src=\"https://user-images.githubusercontent.com/93124920/270108715-d80743fa-b330-4809-b1e6-79fbdc60d09c.png\" /\u003e\n      \u003c/picture\u003e\n   \u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n   \u003ca href=\"https://www.youtube.com/@ReVanced\"\u003e\n      \u003cpicture\u003e\n         \u003csource height=\"24px\" media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/13122796/178032714-c51c7492-0666-44ac-99c2-f003a695ab50.png\" /\u003e\n         \u003cimg height=\"24px\" src=\"https://user-images.githubusercontent.com/13122796/178032714-c51c7492-0666-44ac-99c2-f003a695ab50.png\" /\u003e\n     \u003c/picture\u003e\n   \u003c/a\u003e\n   \u003cbr\u003e\n   \u003cbr\u003e\n   Continuing the legacy of Vanced\n\u003c/p\u003e\n\n# 📚 ReVanced Library\n\n![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/ReVanced/revanced-library/release.yml)\n![GPLv3 License](https://img.shields.io/badge/License-GPL%20v3-yellow.svg)\n\nLibrary containing common utilities for ReVanced.\n\n## ❓ About\n\nReVanced Library powers projects such as [ReVanced Manager](https://github.com/ReVanced/revanced-manager),\n[ReVanced CLI](https://github.com/ReVanced/revanced-cli) with common utilities and functionalities\nby providing shared code.\n\n## 💪 Features\n\nSome of the features the ReVanced Library provides are:\n\n- 📝 **Signing APKs**: Read and write keystores, and sign APK files\n- 🧩 **Common utility functions**: Various APIs for ReVanced patches such as JSON serialization,\n  reading and setting patch options, calculating the most common compatible version for a set of patches and more\n- 💾 **Install and uninstall APKs**: Install and uninstall APK files via ADB or locally,\n  the Android package manager, or by mounting using root permissions\n- 📦 **Repackage patched files to an APK**: Apply patched files from\n  [ReVanced Patcher](https://github.com/revanced/revanced-patcher) to an APK file, and align \u0026 sign the APK file automatically\n\n## 🚀 How to get started\n\nTo use ReVanced Library in your project, follow these steps:\n\n1. [Add the repository](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-gradle-registry#using-a-published-package)\n   to your project\n2. Add the dependency to your project:\n\n   ```kt\n    dependencies {\n        implementation(\"app.revanced:revanced-library:{$version}\")\n    }\n   ```\n\n## 📚 Everything else\n\n### 📙 Contributing\n\nThank you for considering contributing to ReVanced Library.\nYou can find the contribution guidelines [here](CONTRIBUTING.md).\n\n### 🛠️ Building\n\nTo build ReVanced Library,\nyou can follow the [ReVanced documentation](https://github.com/ReVanced/revanced-documentation).\n\n## 📜 Licence\n\nReVanced Library is licensed under the GPLv3 license. Please see the [licence file](LICENSE) for more information.\n[tl;dr](https://www.tldrlegal.com/license/gnu-general-public-license-v3-gpl-3) you may copy, distribute and modify ReVanced Library as long as you track changes/dates in source files.\nAny modifications to ReVanced Library must also be made available under the GPL,\nalong with build \u0026 install instructions.\n","funding_links":["https://github.com/sponsors/ReVanced","https://opencollective.com/ReVanced"],"categories":["✅ Official"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FReVanced%2Frevanced-library","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FReVanced%2Frevanced-library","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FReVanced%2Frevanced-library/lists"}