revanced / revanced-cli Goto Github PK
View Code? Open in Web Editor NEW๐ป Command line application to use ReVanced
Home Page: https://revanced.app
License: GNU General Public License v3.0
๐ป Command line application to use ReVanced
Home Page: https://revanced.app
License: GNU General Public License v3.0
Currently, the descriptions of options and arguments of the CLI do not follow the same voice. This can lead to confusion.
Normalize the descriptions and use one voice.
This will allow users predictively understand the descriptions without having to think about the meaning.
java -jar revanced-cli-1.5.0-all.jar -a ytm.apk -c -d 2ee55f87 -o revanced.apk -b revanced-patches-1.8.2.jar -i minimized-playback -i microg-support -i background-play -i upgrade-button-remover -i upgrade-button-remover -i codecs-unlock -i tasteBuilder-remover --install
[skipped] amoled: Explicitly excluded.
[skipped] minimized-playback: Incompatible package.
[skipped] disable-create-button: Explicitly excluded.
[skipped] premium-heading: Explicitly excluded.
[skipped] custom-branding: Explicitly excluded.
[skipped] disable-shorts-button: Explicitly excluded.
[skipped] disable-fullscreen-panels: Explicitly excluded.
[skipped] old-quality-layout: Explicitly excluded.
[skipped] hide-cast-button: Explicitly excluded.
[skipped] microg-support: Incompatible package.
[skipped] general-ads: Explicitly excluded.
[skipped] video-ads: Explicitly excluded.
[skipped] seekbar-tapping: Explicitly excluded.
[added] upgrade-button-remover
[added] tasteBuilder-remover
[added] background-play
[skipped] exclusive-audio-playback: Explicitly excluded.
[added] codecs-unlock
[5,20] This method requires at least 1 registers, for the method parameters
[5,20] This method requires at least 1 registers, for the method parameters
[5,20] This method requires at least 1 registers, for the method parameters
[error] upgrade-button-remover:
app.revanced.patcher.patch.implementation.misc.PatchResultError: Collection is empty.
at app.revanced.patcher.Patcher.applyPatch(Patcher.kt:264)
at app.revanced.patcher.Patcher.applyPatches(Patcher.kt:282)
at app.revanced.patcher.Patcher.applyPatches$default(Patcher.kt:275)
at app.revanced.utils.patcher.PatcherKt.applyPatchesVerbose(Patcher.kt:60)
at app.revanced.cli.patcher.Patcher.start$revanced_cli(Patcher.kt:20)
at app.revanced.cli.command.MainCommand.run(MainCommand.kt:107)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at app.revanced.cli.main.MainKt.main(Main.kt:7)
Caused by: java.util.NoSuchElementException: Collection is empty.
at kotlin.collections.CollectionsKt___CollectionsKt.first(_Collections.kt:201)
at app.revanced.patcher.util.smali.InlineSmaliCompiler$Companion.compileMethodInstructions(InlineSmaliCompiler.kt:57)
at app.revanced.patcher.util.smali.InlineSmaliCompilerKt.toInstructions(InlineSmaliCompiler.kt:67)
at app.revanced.patcher.util.smali.InlineSmaliCompilerKt.toInstructions$default(InlineSmaliCompiler.kt:67)
at app.revanced.patches.music.layout.upgradebutton.patch.RemoveUpgradeButtonPatch.execute(RemoveUpgradeButtonPatch.kt:46)
at app.revanced.patches.music.layout.upgradebutton.patch.RemoveUpgradeButtonPatch.execute(RemoveUpgradeButtonPatch.kt:21)
at app.revanced.patcher.Patcher.applyPatch(Patcher.kt:262)
... 14 more
[success] tasteBuilder-remover
[error] background-play:
app.revanced.patcher.patch.implementation.misc.PatchResultError: Collection is empty.
at app.revanced.patcher.Patcher.applyPatch(Patcher.kt:264)
at app.revanced.patcher.Patcher.applyPatches(Patcher.kt:282)
at app.revanced.patcher.Patcher.applyPatches$default(Patcher.kt:275)
at app.revanced.utils.patcher.PatcherKt.applyPatchesVerbose(Patcher.kt:60)
at app.revanced.cli.patcher.Patcher.start$revanced_cli(Patcher.kt:20)
at app.revanced.cli.command.MainCommand.run(MainCommand.kt:107)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at app.revanced.cli.main.MainKt.main(Main.kt:7)
Caused by: java.util.NoSuchElementException: Collection is empty.
at kotlin.collections.CollectionsKt___CollectionsKt.first(_Collections.kt:201)
at app.revanced.patcher.util.smali.InlineSmaliCompiler$Companion.compileMethodInstructions(InlineSmaliCompiler.kt:57)
at app.revanced.patcher.util.smali.InlineSmaliCompilerKt.toInstructions(InlineSmaliCompiler.kt:67)
at app.revanced.patcher.util.smali.InlineSmaliCompilerKt.toInstructions$default(InlineSmaliCompiler.kt:67)
at app.revanced.patches.music.premium.backgroundplay.patch.BackgroundPlayPatch.execute(BackgroundPlayPatch.kt:32)
at app.revanced.patches.music.premium.backgroundplay.patch.BackgroundPlayPatch.execute(BackgroundPlayPatch.kt:16)
at app.revanced.patcher.Patcher.applyPatch(Patcher.kt:262)
... 14 more
[error] codecs-unlock:
app.revanced.patcher.patch.implementation.misc.PatchResultError: Collection is empty.
at app.revanced.patcher.Patcher.applyPatch(Patcher.kt:264)
at app.revanced.patcher.Patcher.applyPatches(Patcher.kt:282)
at app.revanced.patcher.Patcher.applyPatches$default(Patcher.kt:275)
at app.revanced.utils.patcher.PatcherKt.applyPatchesVerbose(Patcher.kt:60)
at app.revanced.cli.patcher.Patcher.start$revanced_cli(Patcher.kt:20)
at app.revanced.cli.command.MainCommand.run(MainCommand.kt:107)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at app.revanced.cli.main.MainKt.main(Main.kt:7)
Caused by: java.util.NoSuchElementException: Collection is empty.
at kotlin.collections.CollectionsKt___CollectionsKt.first(_Collections.kt:201)
at app.revanced.patcher.util.smali.InlineSmaliCompiler$Companion.compileMethodInstructions(InlineSmaliCompiler.kt:57)
at app.revanced.patcher.util.smali.InlineSmaliCompilerKt.toInstructions(InlineSmaliCompiler.kt:67)
at app.revanced.patcher.util.smali.InlineSmaliCompilerKt.toInstruction(InlineSmaliCompiler.kt:77)
at app.revanced.patcher.util.smali.InlineSmaliCompilerKt.toInstruction$default(InlineSmaliCompiler.kt:77)
at app.revanced.patches.music.audio.codecs.patch.CodecsUnlockPatch.execute(CodecsUnlockPatch.kt:40)
at app.revanced.patches.music.audio.codecs.patch.CodecsUnlockPatch.execute(CodecsUnlockPatch.kt:17)
at app.revanced.patcher.Patcher.applyPatch(Patcher.kt:262)
... 14 more
java.nio.file.NoSuchFileException: /resources.zip
at jdk.zipfs/jdk.nio.zipfs.ZipFileSystem.deleteFile(ZipFileSystem.java:1973)
at jdk.zipfs/jdk.nio.zipfs.ZipPath.delete(ZipPath.java:759)
at jdk.zipfs/jdk.nio.zipfs.ZipFileSystemProvider.delete(ZipFileSystemProvider.java:191)
at java.base/java.nio.file.Files.delete(Files.java:1152)
at app.revanced.utils.filesystem.ZipFileSystemUtils.deleteRecursively(ZipFileSystemUtils.kt:22)
at app.revanced.utils.filesystem.ZipFileSystemUtils.writePathRecursively$lambda-2$lambda-1(ZipFileSystemUtils.kt:29)
at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845)
at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
at app.revanced.utils.filesystem.ZipFileSystemUtils.writePathRecursively$revanced_cli(ZipFileSystemUtils.kt:27)
at app.revanced.cli.patcher.Patcher.start$revanced_cli(Patcher.kt:35)
at app.revanced.cli.command.MainCommand.run(MainCommand.kt:107)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at app.revanced.cli.main.MainKt.main(Main.kt:7)
At the command line added --mount
and the package name of the app changes app.revanced.android.youtube
but not com.google.android.youtube
Is that an error?
I tried updating my revanced built earlier and ran into an issue:
Log: https://katb.in/derolenonet
Uninstalling ReVanced and deploying the app again fixed the issue, but perhaps adding a way to automatically update instead of error when the app has already been previously been deployed would be nice.
PK=com.google.android.youtube
PS=com.android.vending
LDB=/data/data/$PS/databases/library.db
LADB=/data/data/$PS/databases/localappstate.db
cmd appops set --uid $PS GET_USAGE_STATS ignore pm disable $PS > /dev/null 2>&1
./sqlite3 $LDB "UPDATE ownership SET doc_type = '25' WHERE doc_id = '$PK'";
./sqlite3 $LADB "UPDATE appstate SET auto_update = '2' WHERE package_name = '$PK'";
rm -rf /data/data/$PS/cache/* pm enable $PS > /dev/null 2>&1
Try the above code and you will be surprised when it will disappear the YouTube update button, I got these codes from the magisk module of: JumbomanXDA
Do this code every reboot, and just install the app it will no longer have the YouTube update button.
java -jar revanced-cli.jar -a youtube.apk -c -o revanced.apk -b revanced-patches.jar -m integrations.apk -i general-resource-ads -i general-ads -i video-ads -i seekbar-tapping -i amoled -i premium-heading -i custom-branding -i hide-cast-button -i disable-create-button -i minimized-playback -i old-quality-layout -i microg-support
Please update the displayed cli version in the same way as the main unit.
se.vidstige.jadb.JadbException: Could not install revanced.apk: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.google.android.youtube signatures do not match previously installed version; ignoring!]
i have the same yt version installed on my phone.
uninstalling or downgrading it didn't help
Hello, when i want to use the cli to install Revanced with this command:
java -jar vcli.jar -a youtube.apk -c -d [my device] -o revanced.apk -b revanced-patches-1.8.2.jar -i microg-support -i hide-cast-button -i amoled -i minimized-playback -i premium-heading -i custom-branding -i general-ads -i video-ads -i seekbar-tapping -i upgrade-button-remover -i background-play -i codecs-unlock -i integrations --install
i receive this error:
brut.androlib.AndrolibException: brut.directory.PathAlreadyExists: res
at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:240)
at brut.androlib.Androlib.decodeResourcesFull(Androlib.java:140)
at app.revanced.patcher.Patcher.(Patcher.kt:62)
at app.revanced.cli.command.MainCommand.run(MainCommand.kt:97)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at app.revanced.cli.main.MainKt.main(Main.kt:7)
Caused by: brut.directory.PathAlreadyExists: res
at brut.directory.AbstractDirectory.createDir(AbstractDirectory.java:147)
at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:229)
... 12 more
Any idea on how to fix it? i don't really understand the error...
The new --exclusive
switch seems to be non-functional.
--exclusive
switch and no --include
statements.The solution is already known on the Discord channel, I'm just putting this issue here so the PR that fixes it doesn't get forgotten :P
How I encountered the issue:
Command line: https://pastebin.com/PcYD42CZ
Log: https://pastebin.com/PcYD42CZ
OUTPUT
Youtube
java -jar revanced-cli-1.7.0-all.jar -a youtube-17.23.35.apk -c -d 9d7f01a81020 -o revanced.apk -b revanced-patches-1.9.1.jar -m revanced-integrations-0.11.0.apk -e microg-support -e custom-branding -e hide-cast-button -e disable-shorts-button --mount
[added] amoled
[added] minimized-playback
[added] disable-create-button
[added] premium-heading
[skipped] custom-branding: Explicitly excluded.
[skipped] disable-shorts-button: Explicitly excluded.
[added] disable-fullscreen-panels
[added] old-quality-layout
[skipped] hide-cast-button: Explicitly excluded.
[skipped] microg-support: Explicitly excluded.
[added] general-ads
[added] video-ads
[added] seekbar-tapping
[skipped] upgrade-button-remover: Incompatible package.
[skipped] tasteBuilder-remover: Incompatible package.
[skipped] background-play: Incompatible package.
[skipped] exclusive-audio-playback: Incompatible package.
[skipped] codecs-unlock: Incompatible package.
[success] amoled
[success] minimized-playback
[success] disable-create-button
[success] premium-heading
[success] disable-fullscreen-panels
[success] old-quality-layout
[success] general-ads
[success] video-ads
[success] seekbar-tapping
[aligning & signing]
[deploying]
java.io.FileNotFoundException: revanced.apk (The system cannot find the file specified)
at java.base/java.io.FileInputStream.open0(Native Method)
at java.base/java.io.FileInputStream.open(FileInputStream.java:216)
at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
at se.vidstige.jadb.JadbDevice.push(JadbDevice.java:215)
at app.revanced.utils.adb.CommandsKt.copy(Commands.kt:24)
at app.revanced.utils.adb.Adb.deploy$revanced_cli(Adb.kt:35)
at app.revanced.cli.command.MainCommand.run(MainCommand.kt:123)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at app.revanced.cli.main.MainKt.main(Main.kt:7)
Music
java -jar revanced-cli-1.7.0-all.jar -a music-5.03.50.apk -c -d 9d7f01a81020 -o revanced.apk -b revanced-patches-1.9.1.jar -m revanced-integrations-0.11.0.apk -e microg-support --mount
[skipped] amoled: Incompatible package.
[skipped] minimized-playback: Incompatible package.
[skipped] disable-create-button: Incompatible package.
[skipped] premium-heading: Incompatible package.
[skipped] custom-branding: Incompatible package.
[skipped] disable-shorts-button: Incompatible package.
[skipped] disable-fullscreen-panels: Incompatible package.
[skipped] old-quality-layout: Incompatible package.
[skipped] hide-cast-button: Incompatible package.
[skipped] microg-support: Explicitly excluded.
[skipped] general-ads: Incompatible package.
[skipped] video-ads: Incompatible package.
[skipped] seekbar-tapping: Incompatible package.
[added] upgrade-button-remover
[added] tasteBuilder-remover
[added] background-play
[added] exclusive-audio-playback
[added] codecs-unlock
[success] upgrade-button-remover
[success] tasteBuilder-remover
[success] background-play
[success] exclusive-audio-playback
[success] codecs-unlock
[aligning & signing]
[deploying]
java.io.FileNotFoundException: revanced.apk (The system cannot find the file specified)
at java.base/java.io.FileInputStream.open0(Native Method)
at java.base/java.io.FileInputStream.open(FileInputStream.java:216)
at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
at se.vidstige.jadb.JadbDevice.push(JadbDevice.java:215)
at app.revanced.utils.adb.CommandsKt.copy(Commands.kt:24)
at app.revanced.utils.adb.Adb.deploy$revanced_cli(Adb.kt:35)
at app.revanced.cli.command.MainCommand.run(MainCommand.kt:123)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at app.revanced.cli.main.MainKt.main(Main.kt:7)
This is log: C:\Users\admin\Downloads\revanced>java -jar revanced-cli-2.0.1-all.jar -a com.google.android.youtube.apk -c -o revanced.apk -b revanced-patches-2.0.1.jar -m app-release-unsigned.apk --keystore=my-release-key.keystore --experimental
INFO: Decoding resources
INFO: Reading dex files
INFO: Merging app-release-unsigned.apk
WARNING: Skipping background-play: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping exclusive-audio-playback: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping codecs-unlock: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping upgrade-button-remover: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping tasteBuilder-remover: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
INFO: seekbar-tapping succeeded
INFO: general-ads succeeded
INFO: video-ads succeeded
INFO: custom-branding succeeded
INFO: premium-heading succeeded
INFO: minimized-playback succeeded
INFO: disable-fullscreen-panels succeeded
INFO: old-quality-layout succeeded
INFO: disable-create-button succeeded
INFO: amoled succeeded
INFO: disable-shorts-button succeeded
INFO: hide-cast-button succeeded
INFO: microg-support succeeded
INFO: Compiling resources
INFO: Writing modified dex files
INFO: Writing dex file classes.dex
INFO: Writing dex file classes3.dex
INFO: Writing dex file classes2.dex
INFO: Writing dex file classes4.dex
INFO: Writing dex file classes8.dex
INFO: Writing dex file classes7.dex
INFO: Writing dex file classes5.dex
INFO: Writing dex file classes6.dex
INFO: Writing resources
INFO: Aligning revanced_raw.apk
INFO: Signing revanced_aligned.apk
INFO: Found existing keystore: my-release-key
java.io.IOException: Wrong version of key store.
at org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi.engineLoad(Unknown Source)
at java.base/java.security.KeyStore.load(KeyStore.java:1473)
at app.revanced.utils.signing.Signer.signApk(Signer.kt:63)
at app.revanced.cli.signing.Signing.start(Signing.kt:22)
at app.revanced.cli.command.MainCommand.run(MainCommand.kt:125)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at app.revanced.cli.main.MainKt.main(Main.kt:7)
Command to create keystore file: keytool -genkey -v -keystore my-release-key.keystore -alias Android -keyalg RSA -keysize 2048 -validity 10000
Here's the error and stack trace:
And the written versions:
Exception in thread "main" java.lang.NoSuchMethodError: 'java.util.List app.revanced.patcher.util.smali.InlineSmaliCompilerKt.toInstructions$default(java.lang.String, org.jf.dexlib2.iface.Method, int, java.lang.Object)'
java -jar revanced-cli.jar -a youtube.apk -c -d R3CT40AGH8B -o youtube_revanced.apk -b revanced-patches.jar -m revanced-integrations.apk -i minimized-playback -i disable-create-button -i premium-heading -i custom-branding -i old-quality-layout -i hide-cast-button -i microg-support -i general-ads -i video-ads -i seekbar-tapping -i microg-patch --install
Not sure what I'm missing here.
using this command to compile an apk for the non-root version without using adb:
java -jar .\revanced-cli-1.5.0-all.jar -a youtube.apk -c -o revanced.apk -b .\revanced-patches-1.8.2.jar -m integrations.apk -i microg-support -i amoled -i minimized-playback -i general-ads -i video-ads -i disable-create-button -i premium-heading -i custom-branding -i hide-cast-button -i seekbar-tapping -i old-quality-layout -i disable-fullscreen-panels -t tmp --install
gives me this error:
going by the fact that said error seems to only happen on a few select patches, as can be seen here:
it might be a problem with the integrations, though i haven't tried testing this theory myself yet. the patches that have failed are these:
with the others being "successfully" applied before the program crashes because resources.zip doesn't exist:
the command works for the cli version 1.4.2, but has failed on any version above it, including versions 1.4.3 and 1.4.4, which were scrapped when the cli was rolled back to version 1.4.2. after that, it has also failed on release 1.4.5 and, as the one this issue is focused on, 1.5.0
Hello! I got errors related to building shadowJar
If you can look at it it will be very useful, thanks!
> Task :compileKotlin FAILED
e: /home/critical/Documents/revanced-cli/src/main/kotlin/app/revanced/cli/Main.kt: (8, 35): Unresolved reference: PatchMetadata
e: /home/critical/Documents/revanced-cli/src/main/kotlin/app/revanced/cli/Main.kt: (46, 35): Type mismatch: inferred type is File but InputStream was expected
e: /home/critical/Documents/revanced-cli/src/main/kotlin/app/revanced/cli/Main.kt: (46, 38): No value passed for parameter 'output'
e: /home/critical/Documents/revanced-cli/src/main/kotlin/app/revanced/cli/Main.kt: (46, 38): No value passed for parameter 'signatures'
e: /home/critical/Documents/revanced-cli/src/main/kotlin/app/revanced/cli/Main.kt: (52, 25): Unresolved reference: addFiles
e: /home/critical/Documents/revanced-cli/src/main/kotlin/app/revanced/cli/Main.kt: (60, 32): Type mismatch: inferred type is List<Patch> but Patch was expected
e: /home/critical/Documents/revanced-cli/src/main/kotlin/app/revanced/cli/Main.kt: (65, 21): Unresolved reference: resolveSignatures
e: /home/critical/Documents/revanced-cli/src/main/kotlin/app/revanced/cli/Main.kt: (71, 48): Type mismatch: inferred type is () -> Unit but Boolean was expected
e: /home/critical/Documents/revanced-cli/src/main/kotlin/app/revanced/cli/Main.kt: (72, 54): Unresolved reference: it
e: /home/critical/Documents/revanced-cli/src/main/kotlin/app/revanced/cli/Main.kt: (79, 39): Unresolved reference: size
e: /home/critical/Documents/revanced-cli/src/main/kotlin/app/revanced/cli/Main.kt: (82, 22): Unresolved reference. None of the following candidates is applicable because of receiver type mismatch:
public inline fun <T> Iterable<TypeVariable(T)>.forEach(action: (TypeVariable(T)) -> Unit): Unit defined in kotlin.collections
public inline fun <K, V> Map<out TypeVariable(K), TypeVariable(V)>.forEach(action: (Map.Entry<TypeVariable(K), TypeVariable(V)>) -> Unit): Unit defined in kotlin.collections
e: /home/critical/Documents/revanced-cli/src/main/kotlin/app/revanced/cli/Main.kt: (82, 32): Cannot infer a type for this parameter. Please specify it explicitly.
e: /home/critical/Documents/revanced-cli/src/main/kotlin/app/revanced/cli/Main.kt: (93, 21): Type mismatch: inferred type is Unit but Map<String, [ERROR : MemoryDataStore]> was expected
e: /home/critical/Documents/revanced-cli/src/main/kotlin/app/revanced/cli/Main.kt: (102, 30): Type mismatch: inferred type is Map<String, Result<Nothing?>> but Map<[ERROR : PatchMetadata], Result<PatchResult>> was expected
e: /home/critical/Documents/revanced-cli/src/main/kotlin/app/revanced/cli/Main.kt: (106, 47): Unresolved reference: PatchMetadata
e: /home/critical/Documents/revanced-cli/src/main/kotlin/app/revanced/cli/runner/AdbRunner.kt: (9, 12): Unresolved reference: jf
e: /home/critical/Documents/revanced-cli/src/main/kotlin/app/revanced/cli/runner/AdbRunner.kt: (20, 31): Unresolved reference: MemoryDataStore
e: /home/critical/Documents/revanced-cli/src/main/kotlin/app/revanced/cli/utils/DexReplacer.kt: (3, 8): Unresolved reference: lanchon
e: /home/critical/Documents/revanced-cli/src/main/kotlin/app/revanced/cli/utils/DexReplacer.kt: (4, 12): Unresolved reference: jf
e: /home/critical/Documents/revanced-cli/src/main/kotlin/app/revanced/cli/utils/DexReplacer.kt: (9, 13): Unresolved reference: BasicDexFileNamer
e: /home/critical/Documents/revanced-cli/src/main/kotlin/app/revanced/cli/utils/DexReplacer.kt: (12, 56): Unresolved reference: MemoryDataStore
e: /home/critical/Documents/revanced-cli/src/main/kotlin/app/revanced/cli/utils/DexReplacer.kt: (26, 28): Cannot infer a type for this parameter. Please specify it explicitly.
e: /home/critical/Documents/revanced-cli/src/main/kotlin/app/revanced/cli/utils/DexReplacer.kt: (26, 29): Destructuring declaration initializer of type Map.Entry<String, ???> must have a 'component1()' function
e: /home/critical/Documents/revanced-cli/src/main/kotlin/app/revanced/cli/utils/DexReplacer.kt: (26, 38): Destructuring declaration initializer of type Map.Entry<String, ???> must have a 'component2()' function
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':compileKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
> Compilation error. See log for more details
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 55s
1 actionable task: 1 executed```
java version:
openjdk version "18.0.1" 2022-04-19
OpenJDK Runtime Environment Zulu18.30+11-CA (build 18.0.1+10)
OpenJDK 64-Bit Server VM Zulu18.30+11-CA (build 18.0.1+10, mixed mode, sharing)
The code i ran:
java -jar revanced-cli-2.0.0-all.jar -a "com.google.android.youtube_17.24.35-1529994688_minAPI23(arm64-v8a,armeabi-v7a,x86,x86_64)(nodpi)_apkmirror.com.apk" -c -d R5CR93118YF -o revanced.apk -b revanced-patches-2.0.1.jar -e disable-shorts-button -m app-release-unsigned.apk
Output:
INFO: Decoding resources
INFO: Reading dex files
INFO: Merging app-release-unsigned.apk
INFO: Skipping disable-shorts-button: Explicitly excluded
WARNING: Skipping background-play: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping exclusive-audio-playback: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping codecs-unlock: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping upgrade-button-remover: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping tasteBuilder-remover: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
INFO: seekbar-tapping succeeded
Exception in thread "main" java.lang.NoSuchMethodError: 'app.revanced.patcher.data.impl.ResourceData$XmlFileHolder app.revanced.patcher.data.impl.ResourceData.getXmlEditor()'
at app.revanced.patches.youtube.misc.mapping.patch.ResourceIdMappingProviderResourcePatch.execute(ResourceIdMappingProviderResourcePatch.kt:23)
at app.revanced.patches.youtube.misc.mapping.patch.ResourceIdMappingProviderResourcePatch.execute(ResourceIdMappingProviderResourcePatch.kt:13)
at app.revanced.patcher.Patcher.applyPatch(Patcher.kt:291)
at app.revanced.patcher.Patcher.applyPatch(Patcher.kt:264)
at app.revanced.patcher.Patcher.access$applyPatch(Patcher.kt:43)
at app.revanced.patcher.Patcher$applyPatches$1.invokeSuspend(Patcher.kt:307)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlin.sequences.SequenceBuilderIterator.hasNext(SequenceBuilder.kt:127)
at app.revanced.utils.patcher.PatcherKt.applyPatchesVerbose(Patcher.kt:94)
at app.revanced.cli.patcher.Patcher.start$revanced_cli(Patcher.kt:21)
at app.revanced.cli.command.MainCommand.run(MainCommand.kt:122)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at app.revanced.cli.main.MainKt.main(Main.kt:7)
Original Music apk which I try to patch works perfectly fine, but patched (even all patches are excluded) crashes. However, the patched Youtube video apk works well.
Versions of revanced packages I used:
I submit this issue in revanced-cli repository because don't really know where to place it. Sorry if I made a mistake.
Patching and app logs:
[skipped] amoled: Explicitly excluded.
[skipped] minimized-playback: Explicitly excluded.
[skipped] disable-create-button: Explicitly excluded.
[skipped] premium-heading: Explicitly excluded.
[skipped] custom-branding: Explicitly excluded.
[skipped] disable-shorts-button: Explicitly excluded.
[skipped] old-quality-layout: Explicitly excluded.
[skipped] hide-cast-button: Explicitly excluded.
[skipped] microg-support: Explicitly excluded.
[skipped] general-ads: Explicitly excluded.
[skipped] video-ads: Explicitly excluded.
[skipped] seekbar-tapping: Explicitly excluded.
[skipped] upgrade-button-remover: Explicitly excluded.
[skipped] tasteBuilder-remover: Explicitly excluded.
[skipped] background-play: Explicitly excluded.
[skipped] exclusive-audio-playback: Explicitly excluded.
[skipped] codecs-unlock: Explicitly excluded.
[aligning & signing]
[deploying]
06-18 15:58:48.073 7255 7255 D AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 0 <<<<<<
06-18 15:58:48.082 7255 7255 I AndroidRuntime: Using default boot image
06-18 15:58:48.082 7255 7255 I AndroidRuntime: Leaving lock profiling enabled
06-18 15:58:48.311 7255 7255 D AndroidRuntime: Calling main entry com.android.commands.content.Content
06-18 15:58:48.329 7255 7255 D AndroidRuntime: Shutting down VM
06-18 15:58:48.595 7287 7287 D AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 0 <<<<<<
06-18 15:58:48.605 7287 7287 I AndroidRuntime: Using default boot image
06-18 15:58:48.605 7287 7287 I AndroidRuntime: Leaving lock profiling enabled
06-18 15:58:48.821 7287 7287 D AndroidRuntime: Calling main entry com.android.commands.content.Content
06-18 15:58:48.836 7287 7287 D AndroidRuntime: Shutting down VM
06-18 15:58:49.623 7328 7328 D AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 0 <<<<<<
06-18 15:58:49.630 7328 7328 I AndroidRuntime: Using default boot image
06-18 15:58:49.630 7328 7328 I AndroidRuntime: Leaving lock profiling enabled
06-18 15:58:49.826 7328 7328 D AndroidRuntime: Calling main entry com.android.commands.content.Content
06-18 15:58:49.844 7328 7328 D AndroidRuntime: Shutting down VM
06-18 15:58:50.697 7426 7426 D AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 0 <<<<<<
06-18 15:58:50.704 7426 7426 I AndroidRuntime: Using default boot image
06-18 15:58:50.704 7426 7426 I AndroidRuntime: Leaving lock profiling enabled
06-18 15:58:50.913 7426 7426 D AndroidRuntime: Calling main entry com.android.commands.content.Content
06-18 15:58:50.928 7426 7426 D AndroidRuntime: Shutting down VM
06-18 15:58:51.757 7480 7480 D AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 0 <<<<<<
06-18 15:58:51.764 7480 7480 I AndroidRuntime: Using default boot image
06-18 15:58:51.764 7480 7480 I AndroidRuntime: Leaving lock profiling enabled
06-18 15:58:51.788 7235 7235 D AndroidRuntime: Shutting down VM
06-18 15:58:51.789 7235 7235 E AndroidRuntime: FATAL EXCEPTION: main
06-18 15:58:51.789 7235 7235 E AndroidRuntime: Process: com.google.android.apps.youtube.music, PID: 7235
06-18 15:58:51.789 7235 7235 E AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed: library "libjsc.so" not found: needed by /data/data/com.google.android.apps.youtube.music/app_lib/libelements.so.5.03.50 in namespace classloader-namespace
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at java.lang.Runtime.load0(Runtime.java:929)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at java.lang.System.load(System.java:1620)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at evz.c(PG:48)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at wln.a(PG:7)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at ftf.a(PG:1)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at alko.b(PG:8)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at alko.c(PG:5)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at alko.a(PG:1)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at qjq.a(PG:1)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at wya.<init>(PG:2)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at wyt.<init>(PG:8)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at wyf.f(PG:4)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at wyf.d(PG:1)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at wyf.c(PG:1)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at gpc.p(PG:1)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at gpc.<init>(PG:2)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at fom.m(PG:64)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at fom.a(PG:37)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at axzg.a(PG:1)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at fom.h(PG:72)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at fom.a(PG:29)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at axzg.a(PG:1)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at fnk.c(PG:73)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at fnk.a(PG:4)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at axzg.a(PG:1)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at gqu.<init>(PG:2)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at fke.<init>(PG:2)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at fkp.b(PG:1)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at com.google.android.apps.youtube.music.activities.MusicActivity.g(PG:85)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at fhn.a(PG:1)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at ya.onCreate(PG:3)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at ct.onCreate(PG:1)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at com.google.android.apps.youtube.music.activities.MusicActivity.onCreate(PG:4)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:8057)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:8037)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1347)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3688)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3864)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2253)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:201)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at android.os.Looper.loop(Looper.java:288)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7870)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
06-18 15:58:51.789 7235 7235 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
06-18 15:58:51.978 7480 7480 D AndroidRuntime: Calling main entry com.android.commands.content.Content
06-18 15:58:51.990 7480 7480 D AndroidRuntime: Shutting down VM
App closed, continuing.
[done]
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\ADMIN\AppData\Local\Temp\brut_util_Jar_121317490830691922272717766976781639223.tmp, compile, --dir, C:\Users\ADMIN\Documents\Revanced\revanced-cache\res, --legacy, -o, C:\Users\ADMIN\Documents\Revanced\revanced-cache\build\resources.zip] at brut.androlib.res.AndrolibResources.aapt2Package(AndrolibResources.java:375) at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:629) at app.revanced.patcher.Patcher.save(Patcher.kt:175) at app.revanced.cli.patcher.Patcher.start$revanced_cli(Patcher.kt:29) at app.revanced.cli.command.MainCommand.run(MainCommand.kt:84) at picocli.CommandLine.executeUserObject(CommandLine.java:1939) at picocli.CommandLine.access$1300(CommandLine.java:145) at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358) at picocli.CommandLine$RunLast.handle(CommandLine.java:2352) at picocli.CommandLine$RunLast.handle(CommandLine.java:2314) at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179) at picocli.CommandLine$RunLast.execute(CommandLine.java:2316) at picocli.CommandLine.execute(CommandLine.java:2078) at app.revanced.cli.main.MainKt.main(Main.kt:7) Caused by: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\ADMIN\AppData\Local\Temp\brut_util_Jar_121317490830691922272717766976781639223.tmp, compile, --dir, C:\Users\ADMIN\Documents\Revanced\revanced-cache\res, --legacy, -o, C:\Users\ADMIN\Documents\Revanced\revanced-cache\build\resources.zip] at brut.util.OS.exec(OS.java:99) at brut.androlib.res.AndrolibResources.aapt2Package(AndrolibResources.java:371) ... 13 more Jun 19, 2022 1:27:37 PM brut.util.OS$StreamForwarder run WARNING: C:\Users\ADMIN\Documents\Revanced\revanced-cache\build\resources.zip: error: The system cannot find the file specified. (2).
what is the difference between --include
and --exclusive
? or description says the same thing or my english is bad af
idk why im getting this error: se.vidstige.jadb.JadbException: Could not install revanced.apk: Failure [INSTALL_FAILED_INVALID_APK: Failed to extract native libraries, res=-2
im using it to patch yt music
Hey, great project.
I'm running a Xiaomi phone with CrDroid ROM (Android 12, based on LineageOS) with Magisk for root access & the official MicroG project installed and configured instead of Google services,
Installing ReVanced somewhat works, though the --mount
option is required, along with an existing unpatched YouTube app (downloaded from ApkMirror) for the installation to succeed, else nothing happens after the command on the desktop finishes.
I compiled without excluding MicroG support, and the app does work somewhat. It tends to crash on opening it often. My concern in this case is that the patched ReVanced app doesn't allow me to log into my Google account. I've tried using the old Vanced MicroG app which is opened through the MicroG
option in RV's settings, and also logging in natively through my system's MicroG installation, though the accounts list remains empty no matter what.
So, I'd like to know whether this is intentional (lack of support for this kind of configuration) or some new bug. I imagine there's plenty of rooted phone users using this app, just not too many of those that don't have Google services.
Doesn't make sense if -a
and -o
are required when the only thing cli
will read is file from -b
.
For example, running
java -jar cli.jar -a *.apk -o revanced.apk -b patches.jar -m integrations.apk -l
results in output
INFO: general-ads: Patch to remove general ads in bytecode.
INFO: video-ads: Patch to remove ads in the YouTube video player.
INFO: custom-branding: Change the branding of YouTube.
INFO: premium-heading: Show the premium branding on the the YouTube home screen.
INFO: minimized-playback: Enable minimized and background playback.
INFO: disable-fullscreen-panels: Disable comments panel in fullscreen view.
INFO: old-quality-layout: Enable the original quality flyout menu.
INFO: disable-create-button: Disable the create button.
INFO: amoled: Enables pure black theme.
INFO: disable-shorts-button: Hide the shorts button.
INFO: hide-cast-button: Patch to hide the cast button.
INFO: microg-support: Patch to allow YouTube ReVanced to run without root and under a different package name.
INFO: background-play: Enable playing music in the background.
INFO: exclusive-audio-playback: Add the option to play music without video.
INFO: codecs-unlock: Enables more audio codecs. Usually results in better audio quality but may depend on song and device.
INFO: upgrade-button-remover: Remove the upgrade tab from the pivot bar in YouTube music.
INFO: tasteBuilder-remover: Removes the "Tell us which artists you like" card from the Home screen. The same functionality can be triggered from the settings anyway.
which is written to STDERR
Hope you guys will support aapt , aapt2 for arm64 I can use this tool on termux thanks a lot.
Default location framework: /?/.local/share/apktool/framework/1.apk
I think add -p
to apktool to keep in the same directory as -t
some errors arise if using default
We can use testkey from https://android.googlesource.com/platform/build/+/master/target/product/security/ to sign apks as these are Google signed key and won't prompt Play Protect warning
revanced-cli=1.6.1 revanced-patches=1.9.0
Error:
at jdk.zipfs/jdk.nio.zipfs.ZipFileSystem.deleteFile(ZipFileSystem.java:1973)
at jdk.zipfs/jdk.nio.zipfs.ZipPath.delete(ZipPath.java:759)
at jdk.zipfs/jdk.nio.zipfs.ZipFileSystemProvider.delete(ZipFileSystemProvider.java:191)
at java.base/java.nio.file.Files.delete(Files.java:1152)
at app.revanced.utils.filesystem.ZipFileSystemUtils.deleteRecursively(ZipFileSystemUtils.kt:22)
at app.revanced.utils.filesystem.ZipFileSystemUtils.writePathRecursively$lambda-2$lambda-1(ZipFileSystemUtils.kt:29)
at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845)
at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
at app.revanced.utils.filesystem.ZipFileSystemUtils.writePathRecursively$revanced_cli(ZipFileSystemUtils.kt:27)
at app.revanced.cli.patcher.Patcher.start$revanced_cli(Patcher.kt:35)
at app.revanced.cli.command.MainCommand.run(MainCommand.kt:103)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at app.revanced.cli.main.MainKt.main(Main.kt:7)
my command:
java -jar revanced-cli-1.6.1-all.jar --experimental -a base.apk -d $(adb devices | grep -o '\b[a-f0-9]+\b') -c -o revanced.apk -b revanced-patches-1.9.0.jar -m app-release-unsigned.apk -e amoled -e premium-heading -e disable-shorts-button -e disable-fullscreen-panels -e hide-cast-button -e microg-support --mount
Exception in thread "main" java.lang.IllegalStateException: ADB returned non-zero status code for command: su -c /data/adb/ReVanced/mount.sh
at app.revanced.cli.runner.AdbRunnerKt.assertZero(AdbRunner.kt:134)
at app.revanced.cli.runner.AdbRunnerKt.access$assertZero(AdbRunner.kt:1)
at app.revanced.cli.runner.AdbRunner$runApk$3.invoke(AdbRunner.kt:68)
at app.revanced.cli.runner.AdbRunner$runApk$3.invoke(AdbRunner.kt:56)
at app.revanced.cli.runner.AdbRunnerKt.use(AdbRunner.kt:150)
at app.revanced.cli.runner.AdbRunnerKt.access$use(AdbRunner.kt:1)
at app.revanced.cli.runner.AdbRunner.runApk(AdbRunner.kt:56)
at app.revanced.cli.Main$Companion.runCLI(Main.kt:91)
at app.revanced.cli.Main$Companion.main(Main.kt:167)
at app.revanced.cli.Main.main(Main.kt)```
-i is gone, I'm creating a Patch right now that is auto-excluded by default, so theres no way to include it anymore. Bring an option back for that.
The cast button is not shown in the application once compiled as it disables it without prompting or without setting the -e
i am getting this error. i had a file named revanced_signed.keystore so i renamed it to revanced.keystore and ran the command again it showed "found existing keystore: revanced". but then the file disappeared and the error showed up again
i wanna look at the changes in patches file (to include/exclude new patches), but cli gives me an error Error: Missing required argument(s): --apk=
i use revanced aur package. command: revanced-cli (just alias to java -jar /usr/share/revanced/revanced-cli.jar) -b /usr/share/revanced/revanced-patches.jar -l
selecting vanilla youtube input apk is the solution
youtube version: 17.24.34 (root variant)
I get the following toast and youtube crashes when trying to play app trailers
Crash log : https://paste.crdroid.net/MBN1ir
This was a known bug in the latest vanced version too ( check [G] in https://t.me/c/1105197720/1478294 ), although the error in the crash log seems to be different one.
Because of the partial logic inversion in 31853fe, root-mode is completely broken since outputFile
is clobbered before deploy. See comment in #r76693357.
revanced app does not get installed
tried the root method described in HERE
have executed the following:
java -jar revanced-cli-2.5.3-all.jar -a YouTube-17.26.35.apk -c -d 192.168.0.111:5555 -o revan ced.apk -b revanced-patches-2.13.4.jar -e microg-support --mount
here's the complete log:
java -jar revanced-cli-2.5.3-all.jar -a YouTube-17.26.35.apk -c -d 192.168.0.111:5555 -o revan
ced.apk -b revanced-patches-2.13.4.jar -e microg-support --mount
INFO: Decoding resources
INFO: Reading dex files
WARNING: Skipping exclusive-audio-playback: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping codecs-unlock: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping background-play: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping tasteBuilder-remover: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping upgrade-button-remover: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
INFO: Skipping microg-support: Explicitely excluded
INFO: Skipping hdr-auto-brightness: Not explicitly included
INFO: Skipping autorepeat-by-default: Not explicitly included
INFO: Skipping enable-debugging: Not explicitly included
WARNING: Skipping old-quality-layout: Incompatible with version 17.26.35. This patch is only compatible with version com.google.android.youtube: 17.17.34, 17.19.36, 17.20.37, 17.22.36, 17.23.35, 17.23.36, 17.24.34, 17.24.35
INFO: Skipping enable-wide-searchbar: Not explicitly included
SEVERE: hide-infocard-suggestions failed:
app.revanced.patcher.patch.PatchResultError: 'hide-infocard-suggestions' depends on 'integrations' but the following error was raised: null
at app.revanced.patcher.Patcher.applyPatch(Patcher.kt:272)
at app.revanced.patcher.Patcher.access$applyPatch(Patcher.kt:43)
at app.revanced.patcher.Patcher$applyPatches$1.invokeSuspend(Patcher.kt:314)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlin.sequences.SequenceBuilderIterator.hasNext(SequenceBuilder.kt:127)
at app.revanced.utils.patcher.PatcherKt.applyPatchesVerbose(Patcher.kt:91)
at app.revanced.cli.patcher.Patcher.start$revanced_cli(Patcher.kt:22)
at app.revanced.cli.command.MainCommand.run(MainCommand.kt:164)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at app.revanced.cli.main.MainKt.main(Main.kt:7)
SEVERE: video-ads failed:
app.revanced.patcher.patch.PatchResultError: 'video-ads' depends on 'integrations' but the following error was raised: null
at app.revanced.patcher.Patcher.applyPatch(Patcher.kt:272)
at app.revanced.patcher.Patcher.access$applyPatch(Patcher.kt:43)
at app.revanced.patcher.Patcher$applyPatches$1.invokeSuspend(Patcher.kt:314)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlin.sequences.SequenceBuilderIterator.hasNext(SequenceBuilder.kt:127)
at app.revanced.utils.patcher.PatcherKt.applyPatchesVerbose(Patcher.kt:91)
at app.revanced.cli.patcher.Patcher.start$revanced_cli(Patcher.kt:22)
at app.revanced.cli.command.MainCommand.run(MainCommand.kt:164)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at app.revanced.cli.main.MainKt.main(Main.kt:7)
SEVERE: general-ads failed:
app.revanced.patcher.patch.PatchResultError: 'general-ads' depends on 'integrations' but the following error was raised: null
at app.revanced.patcher.Patcher.applyPatch(Patcher.kt:272)
at app.revanced.patcher.Patcher.access$applyPatch(Patcher.kt:43)
at app.revanced.patcher.Patcher$applyPatches$1.invokeSuspend(Patcher.kt:314)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlin.sequences.SequenceBuilderIterator.hasNext(SequenceBuilder.kt:127)
at app.revanced.utils.patcher.PatcherKt.applyPatchesVerbose(Patcher.kt:91)
at app.revanced.cli.patcher.Patcher.start$revanced_cli(Patcher.kt:22)
at app.revanced.cli.command.MainCommand.run(MainCommand.kt:164)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at app.revanced.cli.main.MainKt.main(Main.kt:7)
SEVERE: seekbar-tapping failed:
app.revanced.patcher.patch.PatchResultError: 'seekbar-tapping' depends on 'integrations' but the following error was raised: null
at app.revanced.patcher.Patcher.applyPatch(Patcher.kt:272)
at app.revanced.patcher.Patcher.access$applyPatch(Patcher.kt:43)
at app.revanced.patcher.Patcher$applyPatches$1.invokeSuspend(Patcher.kt:314)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlin.sequences.SequenceBuilderIterator.hasNext(SequenceBuilder.kt:127)
at app.revanced.utils.patcher.PatcherKt.applyPatchesVerbose(Patcher.kt:91)
at app.revanced.cli.patcher.Patcher.start$revanced_cli(Patcher.kt:22)
at app.revanced.cli.command.MainCommand.run(MainCommand.kt:164)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at app.revanced.cli.main.MainKt.main(Main.kt:7)
SEVERE: swipe-controls failed:
app.revanced.patcher.patch.PatchResultError: 'swipe-controls' depends on 'integrations' but the following error was raised: null
at app.revanced.patcher.Patcher.applyPatch(Patcher.kt:272)
at app.revanced.patcher.Patcher.access$applyPatch(Patcher.kt:43)
at app.revanced.patcher.Patcher$applyPatches$1.invokeSuspend(Patcher.kt:314)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlin.sequences.SequenceBuilderIterator.hasNext(SequenceBuilder.kt:127)
at app.revanced.utils.patcher.PatcherKt.applyPatchesVerbose(Patcher.kt:91)
at app.revanced.cli.patcher.Patcher.start$revanced_cli(Patcher.kt:22)
at app.revanced.cli.command.MainCommand.run(MainCommand.kt:164)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at app.revanced.cli.main.MainKt.main(Main.kt:7)
SEVERE: custom-playback-speed failed:
app.revanced.patcher.patch.PatchResultError: 'custom-playback-speed' depends on 'integrations' but the following error was raised: null
at app.revanced.patcher.Patcher.applyPatch(Patcher.kt:272)
at app.revanced.patcher.Patcher.access$applyPatch(Patcher.kt:43)
at app.revanced.patcher.Patcher$applyPatches$1.invokeSuspend(Patcher.kt:314)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlin.sequences.SequenceBuilderIterator.hasNext(SequenceBuilder.kt:127)
at app.revanced.utils.patcher.PatcherKt.applyPatchesVerbose(Patcher.kt:91)
at app.revanced.cli.patcher.Patcher.start$revanced_cli(Patcher.kt:22)
at app.revanced.cli.command.MainCommand.run(MainCommand.kt:164)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at app.revanced.cli.main.MainKt.main(Main.kt:7)
SEVERE: hide-cast-button failed:
app.revanced.patcher.patch.PatchResultError: 'hide-cast-button' depends on 'integrations' but the following error was raised: null
at app.revanced.patcher.Patcher.applyPatch(Patcher.kt:272)
at app.revanced.patcher.Patcher.access$applyPatch(Patcher.kt:43)
at app.revanced.patcher.Patcher$applyPatches$1.invokeSuspend(Patcher.kt:314)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlin.sequences.SequenceBuilderIterator.hasNext(SequenceBuilder.kt:127)
at app.revanced.utils.patcher.PatcherKt.applyPatchesVerbose(Patcher.kt:91)
at app.revanced.cli.patcher.Patcher.start$revanced_cli(Patcher.kt:22)
at app.revanced.cli.command.MainCommand.run(MainCommand.kt:164)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at app.revanced.cli.main.MainKt.main(Main.kt:7)
INFO: amoled succeeded
INFO: hide-autoplay-button succeeded
INFO: minimized-playback succeeded
INFO: premium-heading succeeded
INFO: custom-branding succeeded
INFO: disable-fullscreen-panels succeeded
SEVERE: hide-shorts-button failed:
app.revanced.patcher.patch.PatchResultError: 'hide-shorts-button' depends on 'integrations' but the following error was raised: null
at app.revanced.patcher.Patcher.applyPatch(Patcher.kt:272)
at app.revanced.patcher.Patcher.access$applyPatch(Patcher.kt:43)
at app.revanced.patcher.Patcher$applyPatches$1.invokeSuspend(Patcher.kt:314)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlin.sequences.SequenceBuilderIterator.hasNext(SequenceBuilder.kt:127)
at app.revanced.utils.patcher.PatcherKt.applyPatchesVerbose(Patcher.kt:91)
at app.revanced.cli.patcher.Patcher.start$revanced_cli(Patcher.kt:22)
at app.revanced.cli.command.MainCommand.run(MainCommand.kt:164)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at app.revanced.cli.main.MainKt.main(Main.kt:7)
SEVERE: disable-create-button failed:
app.revanced.patcher.patch.PatchResultError: 'disable-create-button' depends on 'integrations' but the following error was raised: null
at app.revanced.patcher.Patcher.applyPatch(Patcher.kt:272)
at app.revanced.patcher.Patcher.access$applyPatch(Patcher.kt:43)
at app.revanced.patcher.Patcher$applyPatches$1.invokeSuspend(Patcher.kt:314)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlin.sequences.SequenceBuilderIterator.hasNext(SequenceBuilder.kt:127)
at app.revanced.utils.patcher.PatcherKt.applyPatchesVerbose(Patcher.kt:91)
at app.revanced.cli.patcher.Patcher.start$revanced_cli(Patcher.kt:22)
at app.revanced.cli.command.MainCommand.run(MainCommand.kt:164)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at app.revanced.cli.main.MainKt.main(Main.kt:7)
SEVERE: hide-watermark failed:
app.revanced.patcher.patch.PatchResultError: 'hide-watermark' depends on 'integrations' but the following error was raised: null
at app.revanced.patcher.Patcher.applyPatch(Patcher.kt:272)
at app.revanced.patcher.Patcher.access$applyPatch(Patcher.kt:43)
at app.revanced.patcher.Patcher$applyPatches$1.invokeSuspend(Patcher.kt:314)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlin.sequences.SequenceBuilderIterator.hasNext(SequenceBuilder.kt:127)
at app.revanced.utils.patcher.PatcherKt.applyPatchesVerbose(Patcher.kt:91)
at app.revanced.cli.patcher.Patcher.start$revanced_cli(Patcher.kt:22)
at app.revanced.cli.command.MainCommand.run(MainCommand.kt:164)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at app.revanced.cli.main.MainKt.main(Main.kt:7)
INFO: Compiling resources
INFO: Writing modified dex files
INFO: Writing dex file classes2.dex
INFO: Writing dex file classes.dex
INFO: Writing dex file classes3.dex
INFO: Writing dex file classes4.dex
INFO: Writing dex file classes5.dex
INFO: Writing dex file classes8.dex
INFO: Writing dex file classes7.dex
INFO: Writing dex file classes6.dex
INFO: Writing resources...
INFO: Installing by mounting
07-14 00:56:02.695 19812 19812 D AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 0 <<<<<<
07-14 00:56:02.710 19812 19812 I AndroidRuntime: Using default boot image
07-14 00:56:02.710 19812 19812 I AndroidRuntime: Leaving lock profiling enabled
07-14 00:56:02.856 19812 19812 D AndroidRuntime: Calling main entry com.android.commands.content.Content
07-14 00:56:02.884 19812 19812 D AndroidRuntime: Shutting down VM
INFO: Stopped logging because the app was closed
can be reproduced by removing all patches as:
java -jar revanced-cli-2.5.3-all.jar -a YouTube-17.26.35.apk -c -d 192.168.0.111:5555 -o revanced.apk -b revanced-patches-2.13.4.jar -e microg-support -e hide-infocard-suggestions -e video-ads -e seekbar-tapping -e swipe-controls -e custom-playback-speed -e hide-cast-button -e hide-shorts-button -e disable-create-button -e hide-wate rmark -e general-ads --mount
here's the log:
java -jar revanced-cli-2.5.3-all.jar -a YouTube-17.26.35.apk -c -d 192.168.0.111:5555 -o revanced.apk -b revanced-patches-2.13.4.jar -e microg-support -e hide-infocard-suggestions -e video-ads -e seekbar-tapping -e swipe-controls -e custom-playback-speed -e hide-cast-button -e hide-shorts-button -e disable-create-button -e hide-wate
rmark -e general-ads --mount
INFO: Decoding resources
INFO: Reading dex files
WARNING: Skipping exclusive-audio-playback: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping codecs-unlock: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping background-play: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping tasteBuilder-remover: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping upgrade-button-remover: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
INFO: Skipping hide-infocard-suggestions: Explicitely excluded
INFO: Skipping video-ads: Explicitely excluded
INFO: Skipping general-ads: Explicitely excluded
INFO: Skipping seekbar-tapping: Explicitely excluded
INFO: Skipping swipe-controls: Explicitely excluded
INFO: Skipping microg-support: Explicitely excluded
INFO: Skipping hdr-auto-brightness: Not explicitly included
INFO: Skipping autorepeat-by-default: Not explicitly included
INFO: Skipping custom-playback-speed: Explicitely excluded
INFO: Skipping enable-debugging: Not explicitly included
WARNING: Skipping old-quality-layout: Incompatible with version 17.26.35. This patch is only compatible with version com.google.android.youtube: 17.17.34, 17.19.36, 17.20.37, 17.22.36, 17.23.35, 17.23.36, 17.24.34, 17.24.35
INFO: Skipping hide-cast-button: Explicitely excluded
INFO: Skipping enable-wide-searchbar: Not explicitly included
INFO: Skipping hide-shorts-button: Explicitely excluded
INFO: Skipping disable-create-button: Explicitely excluded
INFO: Skipping hide-watermark: Explicitely excluded
INFO: amoled succeeded
INFO: hide-autoplay-button succeeded
INFO: minimized-playback succeeded
INFO: premium-heading succeeded
INFO: custom-branding succeeded
INFO: disable-fullscreen-panels succeeded
INFO: Compiling resources
INFO: Writing modified dex files
INFO: Writing dex file classes3.dex
INFO: Writing dex file classes.dex
INFO: Writing dex file classes2.dex
INFO: Writing dex file classes4.dex
INFO: Writing dex file classes5.dex
INFO: Writing dex file classes7.dex
INFO: Writing dex file classes6.dex
INFO: Writing dex file classes8.dex
INFO: Writing resources...
INFO: Installing by mounting
07-14 01:12:33.895 21032 21032 D AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 0 <<<<<<
07-14 01:12:33.900 21032 21032 I AndroidRuntime: Using default boot image
07-14 01:12:33.900 21032 21032 I AndroidRuntime: Leaving lock profiling enabled
07-14 01:12:34.056 21032 21032 D AndroidRuntime: Calling main entry com.android.commands.content.Content
07-14 01:12:34.073 21032 21032 D AndroidRuntime: Shutting down VM
INFO: Stopped logging because the app was closed
I triled to built with youtube.apk (V.17.22.36) with cli(1.4.2) & patcher (1.6.3)
while installing some patches get skipped because of Incompatible package
While building revanced-cli
I get the following:
$ ./gradle publish
Output:
Maven publication 'gpr' pom metadata warnings (silence with 'suppressPomMetadataWarningsFor(variant)'):
- Variant runtimeElements:
- contains dependencies that will produce a pom file that cannot be consumed by a Maven client.
- info.picocli:picocli:+ declared with a Maven incompatible version notation
- org.bouncycastle:bcpkix-jdk15on:+ declared with a Maven incompatible version notation
- app.revanced:revanced-patcher:+ declared with a Maven incompatible version notation
- me.tongfei:progressbar:+ declared with a Maven incompatible version notation
These issues indicate information that is lost in the published 'pom' metadata file, which may be an issue if the published library is consumed by an old Gradle version or Apache Maven.
The 'module' metadata file, which is used by Gradle 6+ is not affected.
> Task :publishGprPublicationToGitHubPackagesRepository FAILED
FAILURE: Build failed with an exception.
* What went wrong:
A problem was found with the configuration of task ':publishGprPublicationToGitHubPackagesRepository' (type 'PublishToMavenRepository').
- In plugin 'org.gradle.maven-publish' type 'org.gradle.api.publish.maven.tasks.PublishToMavenRepository' property 'credentials.username' doesn't have a configured value.
Reason: This property isn't marked as optional and no value has been configured.
Possible solutions:
1. Assign a value to 'credentials.username'.
2. Mark property 'credentials.username' as optional.
Please refer to https://docs.gradle.org/7.1.1/userguide/validation_problems.html#value_not_set for more details about this problem.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 9s
9 actionable tasks: 9 executed
Here is my $HOME/.gradle/gradle.properties
file
gpr.user = icebarf
gpr.key = ghp_mytoken
I have no idea on how to fix this.
The cli's APK signer breaks when signing a resource patched APK file.
C:\Users\user\Downloads\revanced>"C:\Program Files\Zulu\zulu-17\bin\java.exe" -jar revanced-cli-2.3.1-all.jar -a youtube.apk -o revanced.apk -b revanced-patches-2.8.0.jar -m app-release-unsigned.apk
WARNING: Skipping background-play: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping exclusive-audio-playback: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping codecs-unlock: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping upgrade-button-remover: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping tasteBuilder-remover: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: C:\Users\user\Downloads\revanced\revanced-cache\res\values-v31\colors.xml:6: error: resource android:color/background_cache_hint_selector_material_light is private.
WARNING: C:\Users\user\Downloads\revanced\revanced-cache\res\values-v31\colors.xml:7: error: resource android:color/background_floating_material_dark is private.
WARNING: C:\Users\user\Downloads\revanced\revanced-cache\res\values-v31\colors.xml:8: error: resource android:color/Blue_700 is private.
WARNING: C:\Users\user\Downloads\revanced\revanced-cache\res\values-v31\colors.xml:9: error: resource android:color/Indigo_800 is private.
WARNING: C:\Users\user\Downloads\revanced\revanced-cache\res\values-v31\colors.xml:10: error: resource android:color/GM2_grey_800 is private.
WARNING: C:\Users\user\Downloads\revanced\revanced-cache\res\values-v31\colors.xml:11: error: resource android:color/Red_700 is private.
WARNING: C:\Users\user\Downloads\revanced\revanced-cache\res\values-v31\colors.xml:12: error: resource android:color/Teal_700 is private.
WARNING: C:\Users\user\Downloads\revanced\revanced-cache\res\values-v31\colors.xml:13: error: resource android:color/accent_device_default_dark_60_percent_opacity is private.
WARNING: C:\Users\user\Downloads\revanced\revanced-cache\res\values-v31\colors.xml:14: error: resource android:color/autofill_background_material_dark is private.
WARNING: error: failed linking references.
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\user\AppData\Local\Temp\brut_util_Jar_21614907946224508614034811161087778448.tmp, link, -o, C:\Users\user\Downloads\revanced\revanced-cache\aapt_temp_file, --min-sdk-version, 23, --target-sdk-version, 31, --version-code, 1530123712, --version-name, 17.25.34, --no-auto-version, --no-version-vectors, --no-version-transitions, --no-resource-deduping, --allow-reserved-package-id, -e, C:\Users\user\AppData\Local\Temp\APKTOOL2182423897097567369.tmp, -0, arsc, -I, C:\Users\user\AppData\Local\apktool\framework\1.apk, --manifest, C:\Users\user\Downloads\revanced\revanced-cache\AndroidManifest.xml, C:\Users\user\Downloads\revanced\revanced-cache\build\resources.zip]
at brut.androlib.res.AndrolibResources.aapt2Package(AndrolibResources.java:491)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:626)
at app.revanced.patcher.Patcher.save(Patcher.kt:199)
at app.revanced.cli.patcher.Patcher.start$revanced_cli(Patcher.kt:27)
at app.revanced.cli.command.MainCommand.run(MainCommand.kt:133)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at app.revanced.cli.main.MainKt.main(Main.kt:7)
Caused by: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\user\AppData\Local\Temp\brut_util_Jar_21614907946224508614034811161087778448.tmp, link, -o, C:\Users\user\Downloads\revanced\revanced-cache\aapt_temp_file, --min-sdk-version, 23, --target-sdk-version, 31, --version-code, 1530123712, --version-name, 17.25.34, --no-auto-version, --no-version-vectors, --no-version-transitions, --no-resource-deduping, --allow-reserved-package-id, -e, C:\Users\user\AppData\Local\Temp\APKTOOL2182423897097567369.tmp, -0, arsc, -I, C:\Users\user\AppData\Local\apktool\framework\1.apk, --manifest, C:\Users\user\Downloads\revanced\revanced-cache\AndroidManifest.xml, C:\Users\user\Downloads\revanced\revanced-cache\build\resources.zip]
at brut.util.OS.exec(OS.java:99)
at brut.androlib.res.AndrolibResources.aapt2Package(AndrolibResources.java:487)
... 13 more
INFO: Deleting existing resource cache directory
INFO: Decoding resources
INFO: Reading dex files
INFO: Merging app-release-unsigned.apk
INFO: Skipping enable-debugging: Explicitly excluded
INFO: seekbar-tapping succeeded
INFO: general-ads succeeded
INFO: video-ads succeeded
INFO: hide-infocard-suggestions succeeded
INFO: custom-branding succeeded
INFO: premium-heading succeeded
INFO: minimized-playback succeeded
INFO: disable-fullscreen-panels succeeded
INFO: old-quality-layout succeeded
INFO: hide-autoplay-button succeeded
INFO: disable-create-button succeeded
INFO: amoled succeeded
INFO: hide-shorts-button succeeded
INFO: hide-cast-button succeeded
INFO: hide-watermark succeeded
INFO: microg-support succeeded
INFO: custom-playback-speed succeeded
INFO: hdr-max-brightness succeeded
INFO: Compiling resources
There is no resulting apk file after this. Only files in cache which contain a revanced_raw.apk whose SHA matches the vanilla youtube apk
Currently, Root Revanced YouTube cannot uninstall the script unless each file of "/ data / adb /" is completely deleted.
Even if you temporarily return to the original YouTube by reinstalling, after restarting, it will automatically change to Revanced by the mount script.
The solution to this is,
First, the direct deletion of each Revanced file in "/ data / adb /" above,
Second, simplification of script uninstall by Magisk Module,
Third, stop grep of the mount script and write it with a fixed path to disable the mount script after uninstalling the application.
First, the most certain, but not something that everyone can do, you will be at a loss for the same question. Not even written in Revanced-Documents.
Your teram's revanced manager will support it in the future, maybe, but at least not now.
Second, if you're not using Magisk, you can't use the Magisk module, of course.
(Should I throw away the Magisk module method that is convenient for supporting other than Magisk, such as SuperSU? Currently YouTube is only compatible with Android 5.0 and above. That is, if it is a mobile that can start YouTube, it is compatible with Magisk. It shouldn't be a bad idea to consider if you really need to consider something other than Magisk, such as SuperSU.)
Third, the amendment. Get the application path directly from revanced-cli with the pm command, and describe it in the mount script.
https://github.com/yuma2b/revanced-cli/blob/450198056a68d31579c6c91ba94f8c574f5a3fff/src/main/kotlin/app/revanced/utils/adb/Adb.kt#L50-L54
https://github.com/yuma2b/revanced-cli/blob/450198056a68d31579c6c91ba94f8c574f5a3fff/src/main/kotlin/app/revanced/utils/adb/Constants.kt#L51-L61
Such a technique was also used in Vanced. As a result, if you reinstall the app, it will no longer be the path described in the mount script, so you can virtually assume that you have uninstalled Revanced.
If the Manager is delayed, write a manual removal method like "First" in Revanced-Documents, and improve it, for users.
Hi there.
Thanks for this project ๐ก๏ธ
I try to install it and I get this error
WARNING: Skipping background-play: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping exclusive-audio-playback: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping codecs-unlock: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping upgrade-button-remover: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
WARNING: Skipping tasteBuilder-remover: Incompatible with com.google.android.youtube. This patch is only compatible with com.google.android.apps.youtube.music
Exception in thread "main" java.lang.NoSuchMethodError: 'java.nio.file.FileSystem java.nio.file.FileSystems.newFileSystem(java.nio.file.Path, java.util.Map)'
at app.revanced.utils.filesystem.ZipFileSystemUtils.<init>(ZipFileSystemUtils.kt:13)
at app.revanced.cli.patcher.Patcher.start$revanced_cli(Patcher.kt:28)
at app.revanced.cli.command.MainCommand.run(MainCommand.kt:133)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at app.revanced.cli.main.MainKt.main(Main.kt:7)
INFO: Decoding resources
INFO: Reading dex files
INFO: Merging app-release-unsigned.apk
INFO: Skipping premium-heading: Explicitly excluded
INFO: Skipping disable-fullscreen-panels: Explicitly excluded
INFO: Skipping amoled: Explicitly excluded
INFO: Skipping hide-cast-button: Explicitly excluded
INFO: Skipping microg-support: Explicitly excluded
INFO: Skipping enable-debugging: Explicitly excluded
INFO: seekbar-tapping succeeded
INFO: general-ads succeeded
INFO: video-ads succeeded
INFO: hide-infocard-suggestions succeeded
INFO: custom-branding succeeded
INFO: minimized-playback succeeded
INFO: old-quality-layout succeeded
INFO: hide-autoplay-button succeeded
INFO: disable-create-button succeeded
INFO: hide-shorts-button succeeded
INFO: hide-watermark succeeded
INFO: custom-playback-speed succeeded
INFO: hdr-max-brightness succeeded
INFO: Compiling resources
INFO: Writing modified dex files
my command is
java -jar revanced-cli-all.jar --experimental -a yt.apk -d f8ea68e7 -c -o revanced.apk -b revanced-patches.jar -m app-release-unsigned.apk -e amoled -e premium-heading -e disable-shorts-button -e disable-fullscreen-panels -e hide-cast-button -e microg-support --mount
I have already Youtube v17.24.34 installed, My phone is Xiaomi Redmi Note 8
Thanks
When I build the revanced cli and use it, there is an error. When I download the revanced cli from the releases, there is not an error.
Steps and error:
~> git clone https://github.com/revanced/revanced-cli
~> ./gradlew build
~> java -jar ./revanced-cli/build/libs/revanced-cli-2.5.3-all.jar -a ./youtube-17.26.35.apk -b ./revanced-patches/build/libs/revanced-patches-2.13.3.jar -c -d R5CRC3QQHQE -m ./app-release-unsigned-0.22.1.apk -o revanced-17.26.35.apk
Exception in thread "main" java.lang.NoClassDefFoundError: brut/directory/ExtFile
at app.revanced.patcher.Patcher.<init>(Patcher.kt:50)
at app.revanced.cli.command.MainCommand.run(MainCommand.kt:147)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at app.revanced.cli.main.MainKt.main(Main.kt:7)
Caused by: java.lang.ClassNotFoundException: brut.directory.ExtFile
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
... 11 more
~> java --version
openjdk 17.0.3 2022-04-19 LTS
OpenJDK Runtime Environment Zulu17.34+19-CA (build 17.0.3+7-LTS)
OpenJDK 64-Bit Server VM Zulu17.34+19-CA (build 17.0.3+7-LTS, mixed mode, sharing)
There must be some problem with my dev environment, as the jarfile built by github releases works unlike the jarfile buil by myself. I just cannot figure out what could be different.
CLI Crashes because -e is used by experimental and exclude command. I'm already working on a PR
Is your feature request related to a problem? Please describe.
Add a contributing.md in the repo so it's easier for new developers to know contributing guidelines.
Describe the solution you'd like
Add a contributing.md.
Describe alternatives you've considered
none
Additional context
none
Device : Xiaomi Redmi 7
OS : LineageOS 18.1 nightly
Magisk : 24.3 (Stable)
Magisk Logs: magisk_log_2022-05-14T20_09_11.log
Revanced cli Install commands:
java -jar "revanced-cli-1.1.0-dev.2-all.jar" -p "revanced-patches-1.0.0-dev.9.jar" -o "revanced.apk" -m "app-release-unsigned.apk" -t "revanced-cache" -ra "youtube.apk" -d "12c220fc"
Mount script doesn't seem to run well on startup. However, I have no problem running it manually.
\data\adb\service.d\mount_revanced_com.google.android.youtube.sh
#!/system/bin/sh
while [ "$(getprop sys.boot_completed | tr -d '\r')" != "1" ]; do sleep 1; done
base_path="/data/adb/revanced/com.google.android.youtube.apk"
stock_path=${ pm path com.google.android.youtube | grep base | sed 's/package://g' }
mount -o bind $base_path $stock_path
There's a problem with this line when it tries to run on startup:
stock_path=${ pm path com.google.android.youtube | grep base | sed 's/package://g' }
The solution is to assign stock_path
manually
This Works :
\data\adb\service.d\mount_revanced_com.google.android.youtube.sh
#!/system/bin/sh
while [ "$(getprop sys.boot_completed | tr -d '\r')" != "1" ]; do sleep 1; done
base_path="/data/adb/revanced/com.google.android.youtube.apk"
stock_path="/data/app/~~3mttlb9deoC7gMr5hQcUwQ==/com.google.android.youtube-fIY1uuXsfsWfzzqrOHi35Q==/base.apk"
mount -o bind $base_path $stock_path
java -jar revanced-cli-1.7.0-all.jar -a YouTube_v17.23.35_Original.apk -c -d emulator-5554 -o revanced_yt.apk -b revanced-patches-1.9.1.jar
[added] amoled
[added] minimized-playback
[added] disable-create-button
[added] premium-heading
[added] custom-branding
[added] disable-shorts-button
[added] disable-fullscreen-panels
[added] old-quality-layout
[added] hide-cast-button
[added] microg-support
[added] general-ads
[added] video-ads
[added] seekbar-tapping
[skipped] upgrade-button-remover: Incompatible package.
[skipped] tasteBuilder-remover: Incompatible package.
[skipped] background-play: Incompatible package.
[skipped] exclusive-audio-playback: Incompatible package.
[skipped] codecs-unlock: Incompatible package.
[success] amoled
[success] minimized-playback
[error] disable-create-button:
app.revanced.patcher.patch.implementation.misc.PatchResultError: disable-create-button depends on integrations but the following error was raised: Integrations have not been merged yet. This patch can not succeed without the integrations.
at app.revanced.patcher.Patcher.applyPatch(Patcher.kt:242)
at app.revanced.patcher.Patcher.applyPatches(Patcher.kt:282)
at app.revanced.patcher.Patcher.applyPatches$default(Patcher.kt:275)
at app.revanced.utils.patcher.PatcherKt.applyPatchesVerbose(Patcher.kt:58)
at app.revanced.cli.patcher.Patcher.start$revanced_cli(Patcher.kt:20)
at app.revanced.cli.command.MainCommand.run(MainCommand.kt:106)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at app.revanced.cli.main.MainKt.main(Main.kt:7)
[success] premium-heading
[success] custom-branding
[success] disable-shorts-button
[success] disable-fullscreen-panels
[success] old-quality-layout
[success] hide-cast-button
[success] microg-support
[success] general-ads
[success] video-ads
[success] seekbar-tapping
[aligning & signing]
org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi$BCKeyStoreException: java.io.IOException: Error initialising store of key store: java.lang.SecurityException: JCE cannot authenticate the provider BC
at org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi.engineSetKeyEntry(Unknown Source)
at java.base/java.security.KeyStore.setKeyEntry(KeyStore.java:1167)
at app.revanced.utils.signing.Signer.newKeystore(Signer.kt:27)
at app.revanced.utils.signing.Signer.signApk(Signer.kt:56)
at app.revanced.cli.signing.Signing.start(Signing.kt:19)
at app.revanced.cli.command.MainCommand.run(MainCommand.kt:111)
at picocli.CommandLine.executeUserObject(CommandLine.java:1939)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at app.revanced.cli.main.MainKt.main(Main.kt:7)
Caused by: java.io.IOException: Error initialising store of key store: java.lang.SecurityException: JCE cannot authenticate the provider BC
at org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi.makePBECipher(Unknown Source)
at org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi$StoreEntry.<init>(Unknown Source)
... 15 more```
info messages are only printed after the program exits, higher severity levels work as expected
seems to be caused by 0ddc2b5
java.nio.file.NoSuchFileException: /resources.zip
this is what i get while building on the latest cli 1.4.5
although the 1.4.2 works
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.