mirror of
https://github.com/ReVanced/revanced-cli.git
synced 2026-01-13 14:43:15 +00:00
Compare commits
9 Commits
chore/scri
...
v5.0.0-dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dbbc00706d | ||
|
|
98ff0c34fa | ||
|
|
77be717de0 | ||
|
|
1bb0d13726 | ||
|
|
18e56e6ff4 | ||
|
|
94b9e2bc6c | ||
|
|
c2dc9d76be | ||
|
|
3d0c8c1526 | ||
|
|
b54308b0e2 |
21
CHANGELOG.md
21
CHANGELOG.md
@@ -1,3 +1,24 @@
|
|||||||
|
# [5.0.0-dev.11](https://github.com/ReVanced/revanced-cli/compare/v5.0.0-dev.10...v5.0.0-dev.11) (2024-11-10)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* List if patch option is required ([#346](https://github.com/ReVanced/revanced-cli/issues/346)) ([98ff0c3](https://github.com/ReVanced/revanced-cli/commit/98ff0c34fa71c3b3ecd96157d45a30ee2b8979c6))
|
||||||
|
|
||||||
|
# [5.0.0-dev.10](https://github.com/ReVanced/revanced-cli/compare/v5.0.0-dev.9...v5.0.0-dev.10) (2024-11-05)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* Make CLI ArgGroup non-exclusive to be able to disable and enable patches at the same time ([1bb0d13](https://github.com/ReVanced/revanced-cli/commit/1bb0d13726fd5790c59cb6d28df3618c7606710d))
|
||||||
|
|
||||||
|
# [5.0.0-dev.9](https://github.com/ReVanced/revanced-cli/compare/v5.0.0-dev.8...v5.0.0-dev.9) (2024-11-05)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* Print in new line correctly ([c2dc9d7](https://github.com/ReVanced/revanced-cli/commit/c2dc9d76be33c98284741e23c406500483c47753))
|
||||||
|
|
||||||
# [5.0.0-dev.8](https://github.com/ReVanced/revanced-cli/compare/v5.0.0-dev.7...v5.0.0-dev.8) (2024-10-17)
|
# [5.0.0-dev.8](https://github.com/ReVanced/revanced-cli/compare/v5.0.0-dev.7...v5.0.0-dev.8) (2024-10-17)
|
||||||
|
|
||||||
# [5.0.0-dev.7](https://github.com/ReVanced/revanced-cli/compare/v5.0.0-dev.6...v5.0.0-dev.7) (2024-10-16)
|
# [5.0.0-dev.7](https://github.com/ReVanced/revanced-cli/compare/v5.0.0-dev.6...v5.0.0-dev.7) (2024-10-16)
|
||||||
|
|||||||
@@ -63,11 +63,11 @@
|
|||||||

|

|
||||||

|

|
||||||
|
|
||||||
Command line application to use ReVanced.
|
Command-line application to use ReVanced.
|
||||||
|
|
||||||
## ❓ About
|
## ❓ About
|
||||||
|
|
||||||
ReVanced CLI is a command line application that uses [ReVanced Patcher](https://github.com/revanced/revanced-patcher) to patch Android apps.
|
ReVanced CLI is a command-line application that uses [ReVanced Patcher](https://github.com/revanced/revanced-patcher) to patch Android apps.
|
||||||
|
|
||||||
## 💪 Features
|
## 💪 Features
|
||||||
|
|
||||||
@@ -75,7 +75,7 @@ Some of the features ReVanced CLI provides are:
|
|||||||
|
|
||||||
- 💉 **Patch apps**: Harness ReVanced Patcher to patch Android apps
|
- 💉 **Patch apps**: Harness ReVanced Patcher to patch Android apps
|
||||||
- 💾 **Install and uninstall apps**: Install and uninstall Apps via ADB,
|
- 💾 **Install and uninstall apps**: Install and uninstall Apps via ADB,
|
||||||
using the Android package manager, or by mounting using root permissions
|
using the Android package manager or by mounting using root permissions
|
||||||
- 📃 **List patches from patch bundles**: List available patches, compatible packages, and versions
|
- 📃 **List patches from patch bundles**: List available patches, compatible packages, and versions
|
||||||
- 💪 **Flexibility and functionality**: Apply any combination of patches to any version of Android apps
|
- 💪 **Flexibility and functionality**: Apply any combination of patches to any version of Android apps
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
org.gradle.parallel = true
|
org.gradle.parallel = true
|
||||||
org.gradle.caching = true
|
org.gradle.caching = true
|
||||||
kotlin.code.style = official
|
kotlin.code.style = official
|
||||||
version = 5.0.0-dev.8
|
version = 5.0.0-dev.11
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ shadow = "8.1.1"
|
|||||||
kotlin = "2.0.20"
|
kotlin = "2.0.20"
|
||||||
kotlinx = "1.8.1"
|
kotlinx = "1.8.1"
|
||||||
picocli = "4.7.6"
|
picocli = "4.7.6"
|
||||||
revanced-patcher = "20.0.2"
|
revanced-patcher = "21.0.0"
|
||||||
revanced-library = "3.0.0"
|
revanced-library = "3.0.2"
|
||||||
|
|
||||||
[libraries]
|
[libraries]
|
||||||
kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
|
kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
|
||||||
|
|||||||
@@ -89,6 +89,7 @@ internal object ListPatchesCommand : Runnable {
|
|||||||
buildString {
|
buildString {
|
||||||
appendLine("Title: $title")
|
appendLine("Title: $title")
|
||||||
description?.let { appendLine("Description: $it") }
|
description?.let { appendLine("Description: $it") }
|
||||||
|
appendLine("Required: $required")
|
||||||
default?.let {
|
default?.let {
|
||||||
appendLine("Key: $key")
|
appendLine("Key: $key")
|
||||||
append("Default: $it")
|
append("Default: $it")
|
||||||
@@ -111,7 +112,7 @@ internal object ListPatchesCommand : Runnable {
|
|||||||
|
|
||||||
if (withDescriptions) append("\nDescription: ${patch.description}")
|
if (withDescriptions) append("\nDescription: ${patch.description}")
|
||||||
|
|
||||||
append("Enabled: ${patch.use}")
|
append("\nEnabled: ${patch.use}")
|
||||||
|
|
||||||
if (withOptions && patch.options.isNotEmpty()) {
|
if (withOptions && patch.options.isNotEmpty()) {
|
||||||
appendLine("\nOptions:")
|
appendLine("\nOptions:")
|
||||||
|
|||||||
@@ -29,11 +29,11 @@ internal object PatchCommand : Runnable {
|
|||||||
@Spec
|
@Spec
|
||||||
private lateinit var spec: CommandSpec
|
private lateinit var spec: CommandSpec
|
||||||
|
|
||||||
@ArgGroup(multiplicity = "0..*")
|
@ArgGroup(exclusive = false, multiplicity = "0..*")
|
||||||
private var selection = mutableSetOf<Selection>()
|
private var selection = mutableSetOf<Selection>()
|
||||||
|
|
||||||
internal class Selection {
|
internal class Selection {
|
||||||
@ArgGroup(exclusive = false, multiplicity = "1")
|
@ArgGroup(exclusive = false)
|
||||||
internal var enabled: EnableSelection? = null
|
internal var enabled: EnableSelection? = null
|
||||||
|
|
||||||
internal class EnableSelection {
|
internal class EnableSelection {
|
||||||
@@ -65,7 +65,7 @@ internal object PatchCommand : Runnable {
|
|||||||
internal var options = mutableMapOf<String, Any?>()
|
internal var options = mutableMapOf<String, Any?>()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ArgGroup(exclusive = false, multiplicity = "1")
|
@ArgGroup(exclusive = false)
|
||||||
internal var disable: DisableSelection? = null
|
internal var disable: DisableSelection? = null
|
||||||
|
|
||||||
internal class DisableSelection {
|
internal class DisableSelection {
|
||||||
@@ -291,7 +291,6 @@ internal object PatchCommand : Runnable {
|
|||||||
patcherTemporaryFilesPath,
|
patcherTemporaryFilesPath,
|
||||||
aaptBinaryPath?.path,
|
aaptBinaryPath?.path,
|
||||||
patcherTemporaryFilesPath.absolutePath,
|
patcherTemporaryFilesPath.absolutePath,
|
||||||
true,
|
|
||||||
),
|
),
|
||||||
).use { patcher ->
|
).use { patcher ->
|
||||||
val packageName = patcher.context.packageMetadata.packageName
|
val packageName = patcher.context.packageMetadata.packageName
|
||||||
@@ -357,8 +356,6 @@ internal object PatchCommand : Runnable {
|
|||||||
// region Install.
|
// region Install.
|
||||||
|
|
||||||
deviceSerial?.let {
|
deviceSerial?.let {
|
||||||
val deviceSerial = it.ifEmpty { null }
|
|
||||||
|
|
||||||
runBlocking {
|
runBlocking {
|
||||||
when (val result = installer!!.install(Installer.Apk(outputFilePath, packageName))) {
|
when (val result = installer!!.install(Installer.Apk(outputFilePath, packageName))) {
|
||||||
RootInstallerResult.FAILURE -> logger.severe("Failed to mount the patched APK file")
|
RootInstallerResult.FAILURE -> logger.severe("Failed to mount the patched APK file")
|
||||||
|
|||||||
Reference in New Issue
Block a user