-
Notifications
You must be signed in to change notification settings - Fork 182
[BUG] Apps installed using Shizuku aren't marked as downloaded from Droid-ify #1044
Description
Describe the bug
When I use the Session installer, the app that's being installed appears in the system settings as "downloaded from Droid-ify".
When I use the Shizuku installer, it doesn't list anything about what downloaded or installed it.
To Reproduce
- Open Droid-ify settings
- Set installer to Shizuku and authorize access to Shizuku
- Install any app using Droid-ify
- Go to the installed app's properties in system settings
- Note how the "App downloaded from..." is missing
Alternatively:
- run
pm list packages -i | grep <installed.package> - Note how it lists
installer=null
Expected behavior
The app is listed as installed by Droid-ify; pm list packages -i returns installer=com.looker.droidify
Screenshots
As an example, I installed Newpipe using Droid-ify, using:
- Session installer
- Shizuku installer
Smartphone (please complete the following information):
- Device: Galaxy A52s 5G
- OS: stock (Android 14, OneUI 6.1)
- Version: v0.6.5 (installed from F-Droid official repo)
Additional context
The Shizuku installer uses pm install-create here:
client/app/src/main/kotlin/com/looker/droidify/installer/installers/shizuku/ShizukuInstaller.kt
Line 41 in 87ce776
| "pm install-create -i $packageName -S $fileSize" |
-S $fileSize in itself is useless here and does nothing.
Instead it should be applied to pm install-write, as is already correctly done here:
client/app/src/main/kotlin/com/looker/droidify/installer/installers/shizuku/ShizukuInstaller.kt
Line 51 in 87ce776
| val writeResult = exec("pm install-write -S $fileSize $sessionId base -", it) |
pm install-create (or in pm install) the value for -i was missing, the command would've failed and thrown an error.
However, since there's -S $fileSize trailing after the -i, the command will continue silently, even if $packageName is not set - resulting in the same outcome as the current behavior. Feel free to try it manually in a shell if you'd like to verify this.
Therefore, my guess is that the variable $packageName is either empty or unset (even though it should be set to com.looker.droidify).
I am unfortunately not able to figure out why that variable isn't set correctly, so I'm listing all my findings here in this issue, hoping it helps resolve it.
A couple side notes:
- Is there any reason for the discrepancy between the Shizuku installer and the Root installer behavior? One is using
pm install-create, while the other is using plainpm install.client/app/src/main/kotlin/com/looker/droidify/installer/installers/root/RootInstaller.kt
Line 42 in 87ce776
private const val INSTALL_COMMAND = "cat %s | pm install --user %s -t -r -S %s" - Additionally, the Root installer doesn't set
-i $packageNameat all. Is that intentional?
These two piqued my curiosity, so I thought I'd bring attention to these in case the difference is unintentional.

