Compare commits

..

2 Commits

Author SHA1 Message Date
semantic-release-bot
107dc50cc3 chore(release): 2.21.2-dev.2 [skip ci]
## [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)
2023-05-15 10:25:05 +00:00
LisoUseInAIKyrios
0b56387d9e build(revanced-patcher): bump version (#226) 2023-05-15 12:23:28 +02:00
7 changed files with 48 additions and 81 deletions

View File

@@ -23,20 +23,17 @@ 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: Cache - name: Setup JDK
uses: actions/cache@v3 uses: actions/setup-java@v3
with: with:
path: | java-version: '17'
${{ runner.home }}/.gradle/caches distribution: 'zulu'
${{ runner.home }}/.gradle/wrapper cache: gradle
.gradle - name: Setup Node.js
build uses: actions/setup-node@v3
node_modules with:
key: ${{ runner.os }}-gradle-npm-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', 'package-lock.json') }} node-version: "18"
- name: Build with Gradle cache: 'npm'
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

View File

@@ -1,27 +1,3 @@
## [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.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)

View File

@@ -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:11.0.3") implementation("app.revanced:revanced-patcher:8.0.0")
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")

View File

@@ -4,9 +4,9 @@ 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

View File

@@ -2,75 +2,73 @@
Learn how to ReVanced CLI. Learn how to ReVanced CLI.
## ⚡ Setup ADB ## ⚡ Setup (optional)
1. Ensure that ADB is working 1. Make sure your device is connected
```bash ```bash
adb shell exit adb shell exit
``` ```
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. If you plan to use the root variant, check if you have root access
```bash ```bash
adb shell su -c exit adb shell su -c exit
``` ```
2. Get the name of your device 2. Copy the ADB device name
```bash ```bash
adb devices adb devices
``` ```
## 🔨 Using ReVanced CLI ## 🔨 ReVanced CLI Usage
- ### ⚙️ 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 to patch an APK file but deploy without root permissions - ### Use ReVanced CLI 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
``` ```
- ### 👾 Use ReVanced CLI to patch an APK file but deploy with root permissions - ### Mount the patched application with root permissions over the installed application
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 adb install input.apk # make sure the same version is installed
java -jar revanced-cli.jar \ java -jar revanced-cli.jar \
-a input.apk \ -a input.apk \
-o patched-output.apk \ -d device-name \
-b revanced-patches.jar \ -o patched-output.apk \
-e vanced-microg-support \ -b revanced-patches.jar \
-d device-name \ -e vanced-microg-support \
--mount --mount
``` ```
> **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. > **Note**:
>
- ### ⚙️ Supply options to patches using ReVanced CLI > - If you want to exclude patches, you can use the option `-e`. In the case of YouTube, you can exclude
the `vanced-microg-support` patch from [ReVanced Patches](https://github.com/revanced/revanced-patches) with the
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. option `-e vanced-microg-support` when mounting for example.
>
The options file contains all options from supplied patch bundles. > - Some patches from [ReVanced Patches](https://github.com/revanced/revanced-patches) also might require
[ReVanced Integrations](https://github.com/revanced/revanced-integrations). Supply them with the option `-m`.
> **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. > The integrations will be merged, if necessary automatically, if supplied.
>
> - If you supplied a device with the option `-d`, the patched application will be automatically installed on the
device.

View File

@@ -1,2 +1,2 @@
kotlin.code.style = official kotlin.code.style = official
version = 2.21.5-dev.2 version = 2.21.2-dev.2

View File

@@ -5,7 +5,6 @@ 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
@@ -26,12 +25,9 @@ internal object Options {
.map { patch -> .map { patch ->
PatchOption( PatchOption(
patch.patchName, patch.patchName,
patch.options!!.map { option -> Option(option.key, option.value) } patch.options!!.map { option -> PatchOption.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