Skip to content

[r8-obfuscation] Keep runtime-owned JNI types - #12645

Draft
simonrozsival wants to merge 2 commits into
simonrozsival-nativeaot-r8-jni-integrationfrom
simonrozsival-r8-runtime-jni-keeps
Draft

[r8-obfuscation] Keep runtime-owned JNI types#12645
simonrozsival wants to merge 2 commits into
simonrozsival-nativeaot-r8-jni-integrationfrom
simonrozsival-r8-runtime-jni-keeps

Conversation

@simonrozsival

Copy link
Copy Markdown
Member

Related to #12535

Depends on #12634

This is layer 7 above the existing six-layer R8 JNI name-obfuscation stack. It centralizes the CoreCLR/NativeAOT-owned JNI names that native startup and pre-remapping runtime code consume, and replaces broad runtime namespace keeps with explicit audited coverage on the opt-in obfuscation path.

The rules protect runtime-owned bootstrap classes, interfaces, fields, constructors, and methods without pinning ordinary generated application peers, preserving the existing seed/final mapping and JNI rewriting flow.

@simonrozsival
simonrozsival force-pushed the simonrozsival-r8-runtime-jni-keeps branch from 314437c to fb77ca1 Compare September 2, 2026 18:01
@simonrozsival
simonrozsival force-pushed the simonrozsival-r8-runtime-jni-keeps branch from fb77ca1 to 2f740b4 Compare September 2, 2026 21:49
simonrozsival and others added 2 commits September 3, 2026 07:00
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@simonrozsival
simonrozsival force-pushed the simonrozsival-r8-runtime-jni-keeps branch from 2f740b4 to eb00af6 Compare September 3, 2026 05:00
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