Skip to content

[BUG] Apps installed using Shizuku aren't marked as downloaded from Droid-ify #1044

@TechniKris

Description

@TechniKris

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

  1. Open Droid-ify settings
  2. Set installer to Shizuku and authorize access to Shizuku
  3. Install any app using Droid-ify
  4. Go to the installed app's properties in system settings
  5. Note how the "App downloaded from..." is missing

Alternatively:

  1. run pm list packages -i | grep <installed.package>
  2. 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

Image

  • Shizuku installer

Image

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:

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:

These two piqued my curiosity, so I thought I'd bring attention to these in case the difference is unintentional.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions