ReVanced / revanced-patches

🧩 Patches for ReVanced
https://revanced.app
GNU General Public License v3.0
1.57k stars 204 forks source link

bug: (YT Music): Integrations patch failed on 7.01.52+ #3172

Closed cyberboh closed 1 week ago

cyberboh commented 2 weeks ago

Bug description

As title says, GmsCore support patch fail to be applied Download APK here https://www.apkmirror.com/apk/google-inc/youtube-music/youtube-music-7-01-52-release/youtube-music-7-01-52-android-apk-download/ And patch with default patches Using patches v4.8.0-dev.18 and Inte v1.9.0-dev.10

Error logs

SEVERE: GmsCore support failed:
app.revanced.patcher.patch.PatchException: 'GmsCore support' depends on 'IntegrationsPatch' that raised an exception:
app.revanced.patcher.patch.PatchException: Could not find hook target fingerprint.
        at app.revanced.patches.shared.misc.integrations.BaseIntegrationsPatch$IntegrationsFingerprint.invoke(BaseIntegrationsPatch.kt:142)
        at app.revanced.patches.shared.misc.integrations.BaseIntegrationsPatch.execute(BaseIntegrationsPatch.kt:41)
        at app.revanced.patches.shared.misc.integrations.BaseIntegrationsPatch.execute(BaseIntegrationsPatch.kt:19)
        at app.revanced.patcher.Patcher$apply$1.invokeSuspend$executePatch(Patcher.kt:173)
        at app.revanced.patcher.Patcher$apply$1.invokeSuspend$executePatch(Patcher.kt:155)
        at app.revanced.patcher.Patcher$apply$1.invokeSuspend(Patcher.kt:205)
        at app.revanced.patcher.Patcher$apply$1.invoke(Patcher.kt)
        at app.revanced.patcher.Patcher$apply$1.invoke(Patcher.kt)
        at kotlinx.coroutines.flow.SafeFlow.collectSafely(Builders.kt:61)
        at kotlinx.coroutines.flow.AbstractFlow.collect(Flow.kt:230)
        at app.revanced.cli.command.PatchCommand$run$4$1$1.invokeSuspend(PatchCommand.kt:303)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
        at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:280)
        at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
        at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
        at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
        at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)
        at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
        at app.revanced.cli.command.PatchCommand.run(PatchCommand.kt:302)
        at picocli.CommandLine.executeUserObject(CommandLine.java:2026)
        at picocli.CommandLine.access$1500(CommandLine.java:148)
        at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
        at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
        at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
        at picocli.CommandLine.execute(CommandLine.java:2170)
        at app.revanced.cli.command.MainCommandKt.main(MainCommand.kt:12)

        at app.revanced.patcher.Patcher$apply$1.invokeSuspend$executePatch(Patcher.kt:160)
        at app.revanced.patcher.Patcher$apply$1.invokeSuspend(Patcher.kt:205)
        at app.revanced.patcher.Patcher$apply$1.invoke(Patcher.kt)
        at app.revanced.patcher.Patcher$apply$1.invoke(Patcher.kt)
        at kotlinx.coroutines.flow.SafeFlow.collectSafely(Builders.kt:61)
        at kotlinx.coroutines.flow.AbstractFlow.collect(Flow.kt:230)
        at app.revanced.cli.command.PatchCommand$run$4$1$1.invokeSuspend(PatchCommand.kt:303)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
        at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:280)
        at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
        at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
        at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
        at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)
        at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
        at app.revanced.cli.command.PatchCommand.run(PatchCommand.kt:302)
        at picocli.CommandLine.executeUserObject(CommandLine.java:2026)
        at picocli.CommandLine.access$1500(CommandLine.java:148)
        at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
        at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
        at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
        at picocli.CommandLine.execute(CommandLine.java:2170)
        at app.revanced.cli.command.MainCommandKt.main(MainCommand.kt:12)

Solution

No response

Additional context

No response

Acknowledgements

kotenok2000 commented 2 weeks ago

6.51.52 fails too.

cyberboh commented 2 weeks ago

6.51.52 fails too.

Really? Untested for backwards version, it could be dev patches issues

kotenok2000 commented 2 weeks ago

play store installs this version for Redmi 10C

soyDESKTOP68A2MRFT commented 2 weeks ago

Really?, i just tested backwards on 4.7.0 and got this ` Device Info ReVanced Manager: 1.20.1 Model: SM-A125M Android version: 12 Supported architectures: arm64-v8a, armeabi-v7a, armeabi Root permissions: No

soyDESKTOP68A2MRFT commented 2 weeks ago

6.51.52 fails too.

Really? Untested for backwards version, it could be dev patches issues

Also, i couldn't make the log have this codeish style, like in the comment that's why i edited it several times, because i was trying to do exactly that

kotenok2000 commented 2 weeks ago

Maybe you should replace "Suggested: Any version" with something else?

Szaamaan commented 2 weeks ago

I think the last version that worked for me was 6.47.53. All the versions after that had some kind of patching issue.

EDIT: I'm clearly wrong with the above! I'm re-testing to find out which version is the latest that can be patched without issues with the current manager...

LisoUseInAIKyrios commented 2 weeks ago

@Szaamaan have you tried patching using CLI tools and the latest dev release?

For me, dev release patches and works with 7.x with no problems.

Szaamaan commented 2 weeks ago

@LisoUseInAIKyrios No, I have not. I've not played around with anything but the official releases. But I'm testing other versions right now, just to make sure which one "breaks". I'm clearly wrong with my previous statement as I've just successfully patched 6.48.52...

I'd need to read up on how to even start using the CLI tools, as it's something I've never done.

LisoUseInAIKyrios commented 2 weeks ago

@Szaamaan the problem is fixed on dev release.

Either patch using a computer, CLI tools, and dev release. Or patch a slightly older version of YT Music until dev is merged to main.

Szaamaan commented 2 weeks ago

I'll probably go with the "slightly older version" for now. 😉 But it does show that perhaps there ought to be a "suggested version" info rather than "any version" for YouTube Music? 🤔

cyberboh commented 2 weeks ago

@LisoUseInAIKyrios Maybe he meant additional patches that still does not work on latest. Permanent repeat patch failied to be applied in 7.01.52

E:\ANDROID\APPS\ReVanced\Patched>java -jar revanced-cli-4.6.0-all.jar patch -p -o Install\YouTube_Music_7.01.52-arm64-v8a_ReVanced.apk --options options.json -b revanced-patches-4.8.0-dev.23.jar --keystore-entry-alias=[] --keystore-password=[] --keystore-entry-password=[] --keystore=[].keystore -m revanced-integrations-1.9.0-dev.14.apk Apps\com.google.android.apps.youtube.music-7.01.52-arm64-v8a.apk -i "Hide category bar" -i "Permanent repeat" -i "Permanent shuffle"
INFO: Loading patches
INFO: Decoding app manifest
INFO: Change package name excluded
INFO: Hex excluded
INFO: Override certificate pinning excluded
INFO: Enable Android debugging excluded
INFO: Spoof Wi-Fi connection excluded
INFO: Spoof SIM country excluded
INFO: Export all activities excluded
INFO: Remove screen capture restriction excluded
INFO: Remove screenshot restriction excluded
INFO: Predictive back gesture excluded
INFO: Setting patch options
INFO: Merging integrations
INFO: Deleting existing temporary files directory
INFO: Decoding resources
INFO: Executing patches
INFO: Bypass certificate checks succeeded
INFO: Enable exclusive audio playback succeeded
INFO: GmsCore support succeeded
INFO: Hide 'Get Music Premium' label succeeded
INFO: Hide category bar succeeded
INFO: Hide music video ads succeeded
INFO: Minimized playback succeeded
SEVERE: Permanent repeat failed:
app.revanced.patcher.patch.PatchException: Failed to resolve RepeatTrackFingerprint
        at app.revanced.util.BytecodeUtilsKt.getException(BytecodeUtils.kt:26)
        at app.revanced.patches.music.interaction.permanentrepeat.PermanentRepeatPatch.execute(PermanentRepeatPatch.kt:35)
        at app.revanced.patches.music.interaction.permanentrepeat.PermanentRepeatPatch.execute(PermanentRepeatPatch.kt:13)
        at app.revanced.patcher.Patcher$apply$1.invokeSuspend$executePatch(Patcher.kt:173)
        at app.revanced.patcher.Patcher$apply$1.invokeSuspend(Patcher.kt:205)
        at app.revanced.patcher.Patcher$apply$1.invoke(Patcher.kt)
        at app.revanced.patcher.Patcher$apply$1.invoke(Patcher.kt)
        at kotlinx.coroutines.flow.SafeFlow.collectSafely(Builders.kt:61)
        at kotlinx.coroutines.flow.AbstractFlow.collect(Flow.kt:230)
        at app.revanced.cli.command.PatchCommand$run$4$1$1.invokeSuspend(PatchCommand.kt:303)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
        at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:280)
        at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
        at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
        at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
        at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)
        at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
        at app.revanced.cli.command.PatchCommand.run(PatchCommand.kt:302)
        at picocli.CommandLine.executeUserObject(CommandLine.java:2026)
        at picocli.CommandLine.access$1500(CommandLine.java:148)
        at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
        at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
        at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
        at picocli.CommandLine.execute(CommandLine.java:2170)
        at app.revanced.cli.command.MainCommandKt.main(MainCommand.kt:12)

INFO: Permanent shuffle succeeded
INFO: Remove upgrade button succeeded
INFO: Change package name succeeded
INFO: Compiling patched dex files
INFO: Compiled classes.dex
INFO: Compiled classes2.dex
INFO: Compiled classes3.dex
INFO: Compiled classes4.dex
INFO: Compiled classes5.dex
INFO: Compiled classes6.dex
INFO: Compiled classes7.dex
INFO: Compiled classes8.dex
INFO: Compiling modified resources
INFO: Aligning APK
INFO: Signing APK
INFO: Saved to E:\ANDROID\APPS\ReVanced\Patched\Install\YouTube_Music_7.01.52-arm64-v8a_ReVanced.apk
INFO: Purging temporary files
INFO: Failed to purge resource cache directory
LisoUseInAIKyrios commented 2 weeks ago

Someone should make a PR to fix the issue on 7.x. it's probably something simple.

And maybe pin the recommended version to 7.x just to save everyone some time for when it will break again.

cyberboh commented 1 week ago

Someone should make a PR to fix the issue on 7.x. it's probably something simple.

And maybe pin the recommended version to 7.x just to save everyone some time for when it will break again.

I hope someone make a PR for it before next stable patches released and constrain the version to supported one to minimalize reported bugs against it.