Skip to content

fix(patcher): prevent ReVanced 21 and 22 process startup crashes - #723

Merged
Jman-Github merged 1 commit into
devfrom
fix/revanced-process-startup
Sep 18, 2026
Merged

Jman-Github merged 1 commit into
devfrom
fix/revanced-process-startup

Conversation

@Jman-Github

@Jman-Github Jman-Github commented Sep 18, 2026 •

Copy link
Copy Markdown
Owner

Summary

Fix ReVanced 21 and 22 process-mode patching failing before patches are applied.

Standalone app_process package contexts can have a null applicationContext. The shared storage helper assumed an Application was available, causing a NullPointerException during ReVanced 22 runtime asset preparation and ReVanced 21 runtime plugin loading.

The fix is in the Manager's shared storage handling and covers both runtimes without requiring a separate v21 plugin change.

Changes

  • Fall back to the supplied package context when applicationContext is unavailable.
  • Apply PR storage isolation to standalone process contexts.
  • Prevent repeated context wrapping from nesting PR storage directories.
  • Add Android regression tests for missing application contexts and preservation of existing application storage.
  • Update the changelog to cover ReVanced 21 and 22.

Testing

  • Reproduce the original ReVanced 22 asset-preparation failure.
  • Verify both ReVanced 22 runtime JARs extract successfully with the fix.
  • Verify release and PR storage paths, cache reuse, stale and empty asset replacement, and read-only permissions.
  • Verify repeated storage lookups do not nest PR profiles.
  • Trace ReVanced 21 process startup and confirm its plugin loader uses the same corrected storage helper.
  • Verify in-process patching and other patcher engines still work.

Artifact

https://github.com/Jman-Github/Universal-ReVanced-Manager/actions/runs/35389662467/artifacts/10565332808

Note

PR build data and regular release data are kept separate to prevent conflicts when switching between release builds and PR artifacts. Because of this, when you install a PR artifact, your app data will appear to be reset. It’s only a clean slate for that specific PR build. Your previous data is still preserved, and once you reinstall the release build you were using before, that data will be restored.

Validation

  • git diff --check passed.
  • JDK 17 .\gradlew.bat assembleRelease passed.
  • JVM tests passed.

@Jman-Github Jman-Github added this to the Release URV 1.9.0-dev.1 milestone Sep 18, 2026
@Jman-Github Jman-Github self-assigned this Sep 18, 2026
@Jman-Github
Jman-Github merged commit 62b922a into dev Sep 18, 2026
1 check passed
@Jman-Github
Jman-Github deleted the fix/revanced-process-startup branch September 18, 2026 20:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant