Skip to content

Use Shizuku User Service for performDexOptMode on Android 14+#72

Merged
JingMatrix merged 1 commit intomasterfrom
dex2oat
Feb 14, 2026
Merged

Use Shizuku User Service for performDexOptMode on Android 14+#72
JingMatrix merged 1 commit intomasterfrom
dex2oat

Conversation

@JingMatrix
Copy link
Owner

  • Implement IShizukuService AIDL to run shell commands with shell UID.
  • Replace deprecated/restricted IPackageManager calls with 'cmd package compile'.
  • Transition ShizukuApi to use bindUserService instead of direct binder calls.
  • Add CompletableDeferred to handle the asynchronous nature of service binding, fixing the race condition where the first dexopt call would fail.
  • Update performDexOptMode to a suspend function for better concurrency.

- Implement IShizukuService AIDL to run shell commands with shell UID.
- Replace deprecated/restricted IPackageManager calls with 'cmd package compile'.
- Transition ShizukuApi to use bindUserService instead of direct binder calls.
- Add CompletableDeferred to handle the asynchronous nature of service binding,
  fixing the race condition where the first dexopt call would fail.
- Update performDexOptMode to a suspend function for better concurrency.
@JingMatrix JingMatrix linked an issue Feb 14, 2026 that may be closed by this pull request
1 task
@JingMatrix JingMatrix merged commit 29ad3ca into master Feb 14, 2026
1 check passed
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.

[Bug] Crashing when optimizing

1 participant

Comments