mirror of
https://github.com/ReVanced/revanced-cli.git
synced 2026-01-11 22:06:20 +00:00
Compare commits
20 Commits
v2.21.2-de
...
v2.21.5-de
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e5e768fa34 | ||
|
|
9082181ce5 | ||
|
|
542580ecff | ||
|
|
26112a4fd2 | ||
|
|
553fbdbb8f | ||
|
|
be429a4770 | ||
|
|
8c391cecce | ||
|
|
bd14bdb5ea | ||
|
|
d0fc886428 | ||
|
|
1ccbed8d17 | ||
|
|
3b89fb7bc2 | ||
|
|
16bb1a60fc | ||
|
|
5f1843771e | ||
|
|
9de90703c8 | ||
|
|
1201f9edc5 | ||
|
|
9c8f9608b2 | ||
|
|
be90d2e360 | ||
|
|
79dc99aa9b | ||
|
|
260ff00951 | ||
|
|
cfe4c5ed0e |
23
.github/workflows/release.yml
vendored
23
.github/workflows/release.yml
vendored
@@ -23,17 +23,20 @@ jobs:
|
|||||||
# https://github.com/cycjimmy/semantic-release-action#private-packages
|
# https://github.com/cycjimmy/semantic-release-action#private-packages
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
- name: Setup JDK
|
- name: Cache
|
||||||
uses: actions/setup-java@v3
|
uses: actions/cache@v3
|
||||||
with:
|
with:
|
||||||
java-version: '17'
|
path: |
|
||||||
distribution: 'zulu'
|
${{ runner.home }}/.gradle/caches
|
||||||
cache: gradle
|
${{ runner.home }}/.gradle/wrapper
|
||||||
- name: Setup Node.js
|
.gradle
|
||||||
uses: actions/setup-node@v3
|
build
|
||||||
with:
|
node_modules
|
||||||
node-version: "18"
|
key: ${{ runner.os }}-gradle-npm-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', 'package-lock.json') }}
|
||||||
cache: 'npm'
|
- name: Build with Gradle
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: ./gradlew clean --no-daemon
|
||||||
- name: Setup semantic-release
|
- name: Setup semantic-release
|
||||||
run: npm install
|
run: npm install
|
||||||
- name: Release
|
- name: Release
|
||||||
|
|||||||
26
CHANGELOG.md
26
CHANGELOG.md
@@ -1,3 +1,29 @@
|
|||||||
|
## [2.21.5-dev.2](https://github.com/revanced/revanced-cli/compare/v2.21.5-dev.1...v2.21.5-dev.2) (2023-07-01)
|
||||||
|
|
||||||
|
## [2.21.5-dev.1](https://github.com/revanced/revanced-cli/compare/v2.21.4...v2.21.5-dev.1) (2023-06-27)
|
||||||
|
|
||||||
|
## [2.21.4](https://github.com/revanced/revanced-cli/compare/v2.21.3...v2.21.4) (2023-06-21)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* remove duplicate options entries. ([d0fc886](https://github.com/revanced/revanced-cli/commit/d0fc8864286adc2677f91a319a11a90272c1001d))
|
||||||
|
|
||||||
|
## [2.21.4-dev.1](https://github.com/revanced/revanced-cli/compare/v2.21.3...v2.21.4-dev.1) (2023-06-18)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* remove duplicate options entries. ([d0fc886](https://github.com/revanced/revanced-cli/commit/d0fc8864286adc2677f91a319a11a90272c1001d))
|
||||||
|
|
||||||
|
## [2.21.3](https://github.com/revanced/revanced-cli/compare/v2.21.2...v2.21.3) (2023-06-12)
|
||||||
|
|
||||||
|
## [2.21.3-dev.1](https://github.com/revanced/revanced-cli/compare/v2.21.2...v2.21.3-dev.1) (2023-06-07)
|
||||||
|
|
||||||
|
## [2.21.2](https://github.com/revanced/revanced-cli/compare/v2.21.1...v2.21.2) (2023-05-24)
|
||||||
|
|
||||||
|
## [2.21.2-dev.2](https://github.com/revanced/revanced-cli/compare/v2.21.2-dev.1...v2.21.2-dev.2) (2023-05-15)
|
||||||
|
|
||||||
## [2.21.2-dev.1](https://github.com/revanced/revanced-cli/compare/v2.21.1...v2.21.2-dev.1) (2023-05-07)
|
## [2.21.2-dev.1](https://github.com/revanced/revanced-cli/compare/v2.21.1...v2.21.2-dev.1) (2023-05-07)
|
||||||
|
|
||||||
## [2.21.1](https://github.com/revanced/revanced-cli/compare/v2.21.0...v2.21.1) (2023-05-06)
|
## [2.21.1](https://github.com/revanced/revanced-cli/compare/v2.21.0...v2.21.1) (2023-05-06)
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ repositories {
|
|||||||
dependencies {
|
dependencies {
|
||||||
implementation("org.jetbrains.kotlin:kotlin-reflect:1.8.20-RC")
|
implementation("org.jetbrains.kotlin:kotlin-reflect:1.8.20-RC")
|
||||||
|
|
||||||
implementation("app.revanced:revanced-patcher:7.1.1")
|
implementation("app.revanced:revanced-patcher:11.0.3")
|
||||||
implementation("info.picocli:picocli:4.7.1")
|
implementation("info.picocli:picocli:4.7.1")
|
||||||
implementation("com.github.revanced:jadb:2531a28109") // updated fork
|
implementation("com.github.revanced:jadb:2531a28109") // updated fork
|
||||||
implementation("com.android.tools.build:apksig:8.1.0-alpha09")
|
implementation("com.android.tools.build:apksig:8.1.0-alpha09")
|
||||||
|
|||||||
@@ -4,12 +4,12 @@ To use ReVanced CLI, you will need to fulfill certain requirements.
|
|||||||
|
|
||||||
## 🤝 Requirements
|
## 🤝 Requirements
|
||||||
|
|
||||||
|
- Java SDK 11 (Azul JDK or OpenJDK)
|
||||||
- [Android Debug Bridge (adb)](https://developer.android.com/studio/command-line/adb) if you want to deploy the patched APK file on your device
|
- [Android Debug Bridge (adb)](https://developer.android.com/studio/command-line/adb) if you want to deploy the patched APK file on your device
|
||||||
- An ABI other than ARMv7 such as x86 or x86-64 (or a custom AAPT binary that supports ARMv7)
|
- An ABI other than ARMv7 such as x86 or x86-64 (or a custom AAPT binary that supports ARMv7)
|
||||||
- Java SDK 17 or higher (Azul JDK or OpenJDK)
|
|
||||||
|
|
||||||
## ⏭️ Whats next
|
## ⏭️ Whats next
|
||||||
|
|
||||||
The next section will show, how to use [ReVanced CLI](https://github.com/revanced/revanced-cli).
|
The next section will show, how to use [ReVanced CLI](https://github.com/revanced/revanced-cli).
|
||||||
|
|
||||||
Continue: [🛠️ Using ReVanced CLI](1_usage.md)
|
Continue: [🛠️ Using ReVanced CLI](1_usage.md)
|
||||||
|
|||||||
@@ -2,73 +2,75 @@
|
|||||||
|
|
||||||
Learn how to ReVanced CLI.
|
Learn how to ReVanced CLI.
|
||||||
|
|
||||||
## ⚡ Setup (optional)
|
## ⚡ Setup ADB
|
||||||
|
|
||||||
1. Make sure your device is connected
|
1. Ensure that ADB is working
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
adb shell exit
|
adb shell exit
|
||||||
```
|
```
|
||||||
|
|
||||||
If you plan to use the root variant, check if you have root access
|
If you want to deploy the patched APK file on your device by mounting it on top of the original APK file, you will need root access. This is optional.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
adb shell su -c exit
|
adb shell su -c exit
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Copy the ADB device name
|
2. Get the name of your device
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
adb devices
|
adb devices
|
||||||
```
|
```
|
||||||
|
|
||||||
## 🔨 ReVanced CLI Usage
|
## 🔨 Using ReVanced CLI
|
||||||
|
|
||||||
- ### Show all available options for ReVanced CLI
|
- ### ⚙️ Show all available options for ReVanced CLI
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
java -jar revanced-cli.jar -h
|
java -jar revanced-cli.jar -h
|
||||||
```
|
```
|
||||||
|
|
||||||
- ### List all available patches from supplied patch bundles
|
- ### 📃 List all available patches from supplied patch bundles
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
java -jar revanced-cli.jar \
|
java -jar revanced-cli.jar
|
||||||
-b revanced-patches.jar \
|
-b revanced-patches.jar \
|
||||||
-l
|
-l
|
||||||
```
|
```
|
||||||
|
|
||||||
- ### Use ReVanced CLI without root permissions
|
- ### 💉 Use ReVanced CLI to patch an APK file but deploy without root permissions
|
||||||
|
|
||||||
|
This will deploy the patched APK file on your device by installing it.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
java -jar revanced-cli.jar \
|
java -jar revanced-cli.jar \
|
||||||
-a input.apk \
|
-a input.apk \
|
||||||
-o patched-output.apk \
|
-o patched-output.apk \
|
||||||
-b revanced-patches.jar
|
-b revanced-patches.jar \
|
||||||
|
-d device-name
|
||||||
```
|
```
|
||||||
|
|
||||||
- ### Mount the patched application with root permissions over the installed application
|
- ### 👾 Use ReVanced CLI to patch an APK file but deploy with root permissions
|
||||||
|
|
||||||
|
This will deploy the patched APK file on your device by mounting it on top of the original APK file.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
adb install input.apk # make sure the same version is installed
|
adb install input.apk
|
||||||
java -jar revanced-cli.jar \
|
java -jar revanced-cli.jar \
|
||||||
-a input.apk \
|
-a input.apk \
|
||||||
-d device-name \
|
-o patched-output.apk \
|
||||||
-o patched-output.apk \
|
-b revanced-patches.jar \
|
||||||
-b revanced-patches.jar \
|
-e vanced-microg-support \
|
||||||
-e vanced-microg-support \
|
-d device-name \
|
||||||
--mount
|
--mount
|
||||||
```
|
```
|
||||||
|
|
||||||
> **Note**:
|
> **Note**: Some patches from [ReVanced Patches](https://github.com/revanced/revanced-patches) also require [ReVanced Integrations](https://github.com/revanced/revanced-integrations). Supply them with the option `-m`. ReVanced Patcher will merge ReVanced Integrations automatically, depending on if the supplied patches require them.
|
||||||
>
|
|
||||||
> - If you want to exclude patches, you can use the option `-e`. In the case of YouTube, you can exclude
|
- ### ⚙️ Supply options to patches using ReVanced CLI
|
||||||
the `vanced-microg-support` patch from [ReVanced Patches](https://github.com/revanced/revanced-patches) with the
|
|
||||||
option `-e vanced-microg-support` when mounting for example.
|
Some patches provide options. Currently, ReVanced CLI will generate and consume an `options.json` file at the location that is specified in `-o`. If the option is not specified, the options file will be generated in the current working directory.
|
||||||
>
|
|
||||||
> - Some patches from [ReVanced Patches](https://github.com/revanced/revanced-patches) also might require
|
The options file contains all options from supplied patch bundles.
|
||||||
[ReVanced Integrations](https://github.com/revanced/revanced-integrations). Supply them with the option `-m`.
|
|
||||||
> The integrations will be merged, if necessary automatically, if supplied.
|
> **Note**: The `options.json` file will be generated at the first time you use ReVanced CLI to patch an APK file for now. This will be changed in the future.
|
||||||
>
|
|
||||||
> - If you supplied a device with the option `-d`, the patched application will be automatically installed on the
|
|
||||||
device.
|
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
kotlin.code.style = official
|
kotlin.code.style = official
|
||||||
version = 2.21.2-dev.1
|
version = 2.21.5-dev.2
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import app.revanced.cli.logging.CliLogger
|
|||||||
import app.revanced.patcher.extensions.PatchExtensions.options
|
import app.revanced.patcher.extensions.PatchExtensions.options
|
||||||
import app.revanced.patcher.extensions.PatchExtensions.patchName
|
import app.revanced.patcher.extensions.PatchExtensions.patchName
|
||||||
import app.revanced.patcher.patch.NoSuchOptionException
|
import app.revanced.patcher.patch.NoSuchOptionException
|
||||||
|
import app.revanced.utils.Options.PatchOption.Option
|
||||||
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
|
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
@@ -25,9 +26,12 @@ internal object Options {
|
|||||||
.map { patch ->
|
.map { patch ->
|
||||||
PatchOption(
|
PatchOption(
|
||||||
patch.patchName,
|
patch.patchName,
|
||||||
patch.options!!.map { option -> PatchOption.Option(option.key, option.value) }
|
patch.options!!.map { option -> Option(option.key, option.value) }
|
||||||
)
|
)
|
||||||
}.let {
|
}
|
||||||
|
// See https://github.com/revanced/revanced-patches/pull/2434/commits/60e550550b7641705e81aa72acfc4faaebb225e7.
|
||||||
|
.distinctBy { it.patchName }
|
||||||
|
.let {
|
||||||
if (prettyPrint)
|
if (prettyPrint)
|
||||||
mapper.writerWithDefaultPrettyPrinter().writeValueAsString(it)
|
mapper.writerWithDefaultPrettyPrinter().writeValueAsString(it)
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user