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:


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:
|
"pm install-create -i $packageName -S $fileSize" |
The
-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:
|
val writeResult = exec("pm install-write -S $fileSize $sessionId base -", it) |
Normally, if in the
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 plain pm install.
|
private const val INSTALL_COMMAND = "cat %s | pm install --user %s -t -r -S %s" |
- Additionally, the Root installer doesn't set
-i $packageName at all. Is that intentional?
These two piqued my curiosity, so I thought I'd bring attention to these in case the difference is unintentional.
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
Alternatively:
pm list packages -i | grep <installed.package>installer=nullExpected behavior
The app is listed as installed by Droid-ify;
pm list packages -ireturnsinstaller=com.looker.droidifyScreenshots
As an example, I installed Newpipe using Droid-ify, using:
Smartphone (please complete the following information):
Additional context
The Shizuku installer uses
pm install-createhere:client/app/src/main/kotlin/com/looker/droidify/installer/installers/shizuku/ShizukuInstaller.kt
Line 41 in 87ce776
-S $fileSizein 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
pm install-create(or inpm install) the value for-iwas missing, the command would've failed and thrown an error.However, since there's
-S $fileSizetrailing after the-i, the command will continue silently, even if$packageNameis 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
$packageNameis either empty or unset (even though it should be set tocom.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:
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
-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.