Skip to content

Fix Shizuku Installer profile context issue (#718)#1359

Open
Willie169 wants to merge 1 commit into
Droid-ify:mainfrom
Willie169:main
Open

Fix Shizuku Installer profile context issue (#718)#1359
Willie169 wants to merge 1 commit into
Droid-ify:mainfrom
Willie169:main

Conversation

@Willie169

Copy link
Copy Markdown

Description

This PR fixes #718 where the Shizuku Installer would only install apps to the profile where Shizuku is running, ignoring the profile Droid-ify is running in.

Problem

The original Shizuku Installer used shell commands executed through Shizuku. These commands run in a separate shell process context, which loses the profile information. When Droid-ify runs in a work profile/secondary space/secure folder (via Insular/Island/Shelter/ROM feature etc.), the shell process doesn't know about the profile and installs to the personal profile (user 0) instead.

Solution

Replace the shell-based installation with ShizukuWorker from re7gog/shizuku_apk_installer, which is also used by Obtainium.

Details:

  • Create a thin adapter layer (ShizukuWorkerAdapter) to not change the upstream ShizukuWorker class.
  • Keep the existing uninstall method unchanged since it works.

Testing

Tested on Samsung Galaxy S24+ Android 16 with work profile (Insular):

  • Shizuku running in main profile, Droid-ify in work profile
  • Apps now install and uninstall correctly in both profiles

Unit test has same result as before my commit, 33 tests completed, 3 failed.

AI Disclosure

LLM used to assist development and refine wording since I'm new to Kotlin and not a native English speaker.

…ps to the profile where Shizuku is running, ignoring the profile Droid-ify is running in
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] When using Shizuku Installer, Droid-ify only installs to the profile Shizuku is running on.

1 participant