Skip to content

Add a central app list for ART inline-hook compatibility - #1013

Open
bartasc4 wants to merge 1 commit into
JingMatrix:masterfrom
bartasc4:feat/application-wide-art-compatibility
Open

bartasc4 wants to merge 1 commit into
JingMatrix:masterfrom
bartasc4:feat/application-wide-art-compatibility

Conversation

@bartasc4

@bartasc4 bartasc4 commented Oct 17, 2026 •

Copy link
Copy Markdown

Adds a searchable application list on System status for ART inline-hook compatibility. Each package has one shared setting across modules, disabled by default and applied when its process next starts.

This is a standalone alternative to #921 for #641. It carries forward #921's cleanup and process-policy implementation; the native cleanup source and header are unchanged. The UI comes from an existing local implementation, with only this feature extracted onto current master.

I understand the earlier preference for a toggle in the application's menu on a module's scope page. Because the underlying setting is already application-wide, that placement may suggest independent per-module choices. The central list makes the shared scope explicit. If the behavior were actually module-specific, I would keep the control there and would not propose a central list.

The implementation retains the one-shot cleanup after framework bootstrap, preserves the captured pre-Vector modifications, and excludes the Manager and system_server. It also includes the Manager IPC protocol update and all shipped translations.

Validation: translation checks and git diff --check pass. Manager Kotlin compilation (Debug/Release), daemon Kotlin compilation (Release), and the Release native build for arm64-v8a, armeabi-v7a, x86 and x86_64 pass. An earlier Android 12 arm64 test of the same cleanup code observed libart executable-byte differences decrease from 72 to 0. That was a custom build, not this PR head, and is not evidence of complete invisibility or compatibility with every ART lifecycle event. No device retest of this PR head has been performed.

Compatibility limit: the restored ART maintenance hooks no longer run. Existing LSPlant/Dobby metadata remains, but later JIT, class initialization or native re-registration may still affect hooks. The option remains explicitly opt-in and keeps the existing compatibility warning.

Carry forward the cleanup and process-policy implementation from
JingMatrix#921 by lzup333 and expose the application-wide setting
through the existing local central selector.

Keep the feature opt-in, preserve the native cleanup implementation,
and include only the associated Manager, daemon and IPC changes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant