Bug description
Attempting to patch any app with any source and anddea/revanced-patches (RVX) v4.1.0-dev.8 enabled fails.
HOWEVER
This depends on a few circumstances:
- If [some source] is first in the source order, it WILL fail.
- If RVX is first in the source order, it will NOT fail.
- If YouTube or YTM is being patched with both official Morphe and RVX, it does not matter what the source order is, the process WILL fail.
- If YouTube is being patched with [other source] and RVX, and if RVX is first in the source order, it will NOT fail.
I'm sure there's some more scenarios in which failures occur.
The error log below is from trying to patch YouTube with official Morphe v1.31.0 and RVX v4.1.0-dev.8, with Morphe above RVX in the source order. All patches from official Morphe were enabled (except the universal patches), and only Change version code was enabled in RVX. Continue on error does not affect whether or not the patch fails.
This same patch configuration succeeds on URV Manager, installs without issue, and works fine.
Error logs
June 13, 2026 7:02:42 PM app.morphe.engine.MorpheData resolveRoot
INFO: Morphe data root: S:\morphe-cli\morphe-data (JAR-adjacent)
WARNING: A restricted method in java.lang.System has been called
WARNING: java.lang.System::load has been called by org.jetbrains.skiko.Library in an unnamed module (file:/S:/morphe-cli/morphe-cli-1.9.1-all.jar)
WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
WARNING: Restricted methods will be blocked in a future release unless native access is enabled
[2026-06-13 19:02:44.067] [INFO ] ============================================================
[2026-06-13 19:02:44.319] [INFO ] Morphe-GUI Started
[2026-06-13 19:02:44.321] [INFO ] Version: v1.9.1
[2026-06-13 19:02:44.323] [INFO ] OS: Windows 11 10.0 (amd64)
[2026-06-13 19:02:44.324] [INFO ] Java: 25.0.3 (Eclipse Adoptium) 64-bit
[2026-06-13 19:02:44.325] [INFO ] Memory: 4078 MB max
[2026-06-13 19:02:44.327] [INFO ] User: FibreTTP
[2026-06-13 19:02:44.328] [INFO ] App Data: S:\morphe-cli\morphe-data
[2026-06-13 19:02:44.329] [INFO ] Working Dir: S:\morphe-cli
[2026-06-13 19:02:44.330] [INFO ] ============================================================
[2026-06-13 19:02:44.334] [INFO ] Config loaded from S:\morphe-cli\morphe-data\config.json
[2026-06-13 19:02:44.363] [INFO ] Creating PatchRepository for source 'anddea/revanced-patches' (repo=anddea/revanced-patches, provider=GITHUB)
[2026-06-13 19:02:44.409] [INFO ] PatchSourceManager initialized with source 'anddea/revanced-patches' (type=GITHUB)
[2026-06-13 19:02:44.411] [INFO ] Enabled sources: Morphe Patches, anddea/revanced-patches
[2026-06-13 19:02:44.443] [INFO ] PatchSourceManager: active mode → EXPERT
[2026-06-13 19:02:44.541] [INFO ] Creating PatchRepository for source 'Morphe Patches' (repo=MorpheApp/morphe-patches, provider=GITHUB)
June 13, 2026 7:02:44 PM app.morphe.engine.patches.GitHubPatchSource$listReleases$2 invokeSuspend
INFO: GitHub: fetching releases from https://api.github.com/repos/anddea/revanced-patches/releases
June 13, 2026 7:02:44 PM app.morphe.engine.patches.GitHubPatchSource$listReleases$2 invokeSuspend
INFO: GitHub: fetching releases from https://api.github.com/repos/MorpheApp/morphe-patches/releases
[2026-06-13 19:02:44.879] [DEBUG] HTTP: REQUEST: https://api.github.com/repos/anddea/revanced-patches/releases
METHOD: GET
[2026-06-13 19:02:44.879] [DEBUG] HTTP: REQUEST: https://api.github.com/repos/MorpheApp/morphe-patches/releases
METHOD: GET
[2026-06-13 19:02:45.959] [DEBUG] HTTP: RESPONSE: 200 OK
METHOD: GET
FROM: https://api.github.com/repos/MorpheApp/morphe-patches/releases
[2026-06-13 19:02:45.974] [DEBUG] HTTP: RESPONSE: 200 OK
METHOD: GET
FROM: https://api.github.com/repos/anddea/revanced-patches/releases
June 13, 2026 7:02:46 PM app.morphe.engine.patches.GitHubPatchSource$listReleases$2 invokeSuspend
INFO: GitHub: fetched 30 releases from anddea/revanced-patches
June 13, 2026 7:02:46 PM app.morphe.engine.patches.GitHubPatchSource$listReleases$2 invokeSuspend
INFO: GitHub: fetched 30 releases from MorpheApp/morphe-patches
[2026-06-13 19:02:46.249] [INFO ] Using cached patches: S:\morphe-cli\morphe-data\patches\MorpheApp-morphe-patches\v1.31.0__patches-1.31.0.mpp (7470416 bytes)
[2026-06-13 19:02:46.249] [INFO ] Using cached patches: S:\morphe-cli\morphe-data\patches\anddea-revanced-patches\v4.1.0-dev.8__patches-4.1.0-dev.8.mpp (24918241 bytes)
June 13, 2026 7:02:46 PM app.morphe.engine.MultiSourceLoader$loadOne$2 invokeSuspend
INFO: MultiSourceLoader: loaded 114 patches from 'anddea/revanced-patches'
June 13, 2026 7:02:46 PM app.morphe.engine.MultiSourceLoader$loadOne$2 invokeSuspend
INFO: MultiSourceLoader: loaded 114 patches from 'Morphe Patches'
[2026-06-13 19:02:46.628] [INFO ] Loaded 3 supported apps from 2 source(s): [Reddit, YouTube, YouTube Music]
[2026-06-13 19:03:01.894] [INFO ] File selected: S:\morphe-cli\base-apks\com.google.android.youtube_20.51.39-1558707648_minAPI28(arm64-v8a,armeabi-v7a,x86,x86_64)(nodpi)_apkmirror.com.apk
[2026-06-13 19:03:02.222] [INFO ] Parsed APK: com.google.android.youtube v20.51.39 (recommended=20.51.39, minSdk=28, archs=[arm64-v8a, armeabi-v7a, x86, x86_64])
[2026-06-13 19:03:02.224] [INFO ] APK analyzed successfully: YouTube
[2026-06-13 19:03:03.268] [INFO ] Loading patches from: S:\morphe-cli\morphe-data\patches\anddea-revanced-patches\v4.1.0-dev.8__patches-4.1.0-dev.8.mpp
[2026-06-13 19:03:03.268] [INFO ] Loading patches from: S:\morphe-cli\morphe-data\patches\MorpheApp-morphe-patches\v1.31.0__patches-1.31.0.mpp
[2026-06-13 19:03:03.511] [INFO ] Loaded 72 patches for com.google.android.youtube
[2026-06-13 19:03:03.543] [INFO ] Loaded 74 patches for com.google.android.youtube
[2026-06-13 19:03:03.714] [INFO ] Loaded 2 bundle(s), 146 total patches for com.google.android.youtube
[2026-06-13 19:03:03.737] [INFO ] Applied saved patch preferences for com.google.android.youtube (2/2 bundle(s))
[2026-06-13 19:04:03.869] [INFO ] Saved patch preferences for Morphe Patches / com.google.android.youtube (72 entries)
[2026-06-13 19:04:03.876] [INFO ] Saved patch preferences for anddea/revanced-patches / com.google.android.youtube (74 entries)
Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: 'app.morphe.patcher.patch.BytecodePatch app.morphe.patches.all.misc.transformation.TransformInstructionsPatchKt.transformInstructionsPatch$default(kotlin.jvm.functions.Function4, kotlin.jvm.functions.Function2, kotlin.jvm.functions.Function1, boolean, int, java.lang.Object)'
at app.morphe.patches.all.misc.connectivity.wifi.spoof.SpoofWifiPatchKt.spoofWifiPatch$lambda$0(SpoofWifiPatch.kt:22)
at app.morphe.patcher.patch.PatchKt.buildPatch(Patch.kt:537)
at app.morphe.patcher.patch.PatchKt.bytecodePatch(Patch.kt:605)
at app.morphe.patches.all.misc.connectivity.wifi.spoof.SpoofWifiPatchKt.<clinit>(SpoofWifiPatch.kt:14)
at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method)
at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unknown Source)
at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.ensureClassInitialized(Unknown Source)
at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.newMethodAccessor(Unknown Source)
at java.base/jdk.internal.reflect.ReflectionFactory.newMethodAccessor(Unknown Source)
at java.base/java.lang.reflect.Method.acquireMethodAccessor(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at app.morphe.patcher.patch.PatchLoader$Companion.getPatchMethods(Patch.kt:804)
at app.morphe.patcher.patch.PatchLoader$Companion.loadPatches$lambda$0$1(Patch.kt:821)
at kotlin.sequences.FlatteningSequence$iterator$1.ensureItemIterator(Sequences.kt:363)
at kotlin.sequences.FlatteningSequence$iterator$1.hasNext(Sequences.kt:351)
at kotlin.sequences.FilteringSequence$iterator$1.calcNext(Sequences.kt:202)
at kotlin.sequences.FilteringSequence$iterator$1.hasNext(Sequences.kt:227)
at kotlin.sequences.SequencesKt___SequencesKt.toSet(_Sequences.kt:857)
at app.morphe.patcher.patch.PatchLoader$Companion.loadPatches(Patch.kt:824)
at app.morphe.patcher.patch.PatchLoader$Companion.access$loadPatches(Patch.kt:784)
at app.morphe.patcher.patch.PatchLoader.<init>(Patch.kt:736)
at app.morphe.patcher.patch.PatchLoader.<init>(Patch.kt)
at app.morphe.patcher.patch.PatchLoader$Jar.<init>(Patch.kt:745)
at app.morphe.patcher.patch.PatchKt.loadPatchesFromJar(Patch.kt:845)
at app.morphe.gui.util.PatchService$patch$3.invokeSuspend(PatchService.kt:118)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:124)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:798)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineName(app.morphe.gui.ui.screens.patching.PatchingScreen:app.morphe.gui.ui.screens.patching.PatchingViewModel:default), StandaloneCoroutine{Cancelling}@5205ec3f, Dispatchers.Main.immediate]
[2026-06-13 19:05:48.619] [INFO ] Patching cancelled by user
[2026-06-13 19:05:51.830] [DEBUG] Skipping adb kill-server — daemon wasn't started by Morphe
Solution
No response
Additional context
I'm attempting to use the Change version code universal patch from RVX to alter the version code of multiple apps (some non-YouTube) at patch time for use with my self-hosted fdroidserver repo.
I am NOT attempting to use any other patches from RVX.
Acknowledgements
Bug description
Attempting to patch any app with any source and
anddea/revanced-patches(RVX) v4.1.0-dev.8 enabled fails.HOWEVER
This depends on a few circumstances:
I'm sure there's some more scenarios in which failures occur.
The error log below is from trying to patch YouTube with official Morphe v1.31.0 and RVX v4.1.0-dev.8, with Morphe above RVX in the source order. All patches from official Morphe were enabled (except the universal patches), and only
Change version codewas enabled in RVX. Continue on error does not affect whether or not the patch fails.This same patch configuration succeeds on URV Manager, installs without issue, and works fine.
Error logs
Solution
No response
Additional context
I'm attempting to use the
Change version codeuniversal patch from RVX to alter the version code of multiple apps (some non-YouTube) at patch time for use with my self-hosted fdroidserver repo.I am NOT attempting to use any other patches from RVX.
Acknowledgements