Obtainium icon indicating copy to clipboard operation
Obtainium copied to clipboard

App Manager Installer stopped working in 0.12.1-beta [Feature request]

Open resiehnnes opened this issue 1 year ago • 7 comments

I can see the changelog states:

Switched to synchronous install plugin

So it looks it's not a bug, but I am wondering if it is possible to show us android's default popup message where you can select default installer for installing actions in Obtainium. When I want to update an app in latest beta it just opens android's default package installer.

resiehnnes avatar Apr 30 '23 15:04 resiehnnes

Not sure what you mean. As far as I'm aware, you can only install apps using the default Android API - the OS handles the popup and actual install. What other installers could you select?

ImranR98 avatar Apr 30 '23 18:04 ImranR98

@ImranR98 App Manager provides a 3rd party installer when installing apk files in different ways, could be just opening apk file in file manager or using apps like Aurora Store, F-Droid or Droid-ify. Why would anyone use 3rd party installer? Well, it has one really nice feature, before you want to update an app it compares installed version of an app with the update you are going to install and shows brief information, like, what components, trackers, permissions were added or removed in updated app, so if there's something sketchy you could just cancel the update.

On the screenshot below you can see what I was getting when trying to update apps in Obtainium (prior 0.12.1-beta), and in this particular case it actually shows the components which has been added and removed in latest version which broke this 3rd party installer:

52c9d31b-bddf-41c1-99ce-c5581f406c93

In Obtainium prior latest version 0.12.1-beta I had this dialogue (see the screenshot below) when trying to update any app, so I could choose to use default package installer (first icon) or a 3rd party installer which is a part of App Manager app (the icon in the middle):

91bf41c2-ffc9-43a1-b13a-2a18d5bce39b

In the latest Obtainium 0.12.1-beta when you try to update an app it doesn't let me choose anything and defaults to android's package installer:

6a3deec7-2e2f-46b6-ab3e-be8aedafc374

resiehnnes avatar Apr 30 '23 19:04 resiehnnes

Hmm okay I think I see what's going on (not an Android dev so this may be wrong).

The previous plugin was telling the OS to "open this APK file". The OS then had to choose how to handle it - just like with any other file type. Most of the time, "Package Installer" is the only thing on the phone which can handle APKs so it was being opened by default. In your case there were other options so it gave you a choice.

The new plugin calls a new OS API to install packages directly, so it's less generic and doesn't leave room for other apps to handle it.

The new plugin solves some significant problems (see release notes for the last couple of releases to get more context) so going back to the old plugin is not an option. We can't use both because other parts of the code have been changed to support the new plugin and stop trying to workaround the limitations of the old one.

Assuming this explanation is accurate (I think it is based on my understanding), there's not much that can be done (being able to pick other installers was never an intended feature anyways - just a side-effect of the plugin that I wasn't aware of). Will reopen the issue if anyone has other ways forward.

ImranR98 avatar Apr 30 '23 19:04 ImranR98

Got it, thank you for explanation. I totally understand your approach to use a new and more stable plugin. It is a shame though, that the new plugin doesn't allow to a user to choose installer during app update. I was more than happy using 0.12.0-beta and never encountered any problems, so I might just stick to an older version for now.

There is one thing that actually came to my mind and probably this might be helpful in some way. Apps like Aurora Store, F-Droid or Droid-ify do have a dedicated setting to choose the installation method (see the screenshot below) If I choose a 'Session installer' it will behave same as newer version of Obtainium without the pop-up to let me choose the installer, so I guess this is the same method which is used in latest Obtainium. On the other hand those apps keep an option to use 'Legacy installer', which does provide a user to choose a different installer upon updating/installing an app.

ffe170fe-0b7e-4415-9c09-f86e4a292952

Hopefully there is a workaround for the issue I encountered, but then again, even if there's none it won't stop me from using your wonderful application.

resiehnnes avatar Apr 30 '23 20:04 resiehnnes

I'm not sure about the tech details, but how about this: add a new button beside "Update", indicating whether the app package is downloaded (cached), if yes, click it would open it in file manager (or simply open it as file rather than package, but I dunno if that's exactly conflicting with what you mentioned), and then the user can select how to open it.

momobobe avatar May 26 '23 13:05 momobobe

I am joining this feature request as well; akin to Aurora Store for instance providing options, which package manager/installer to choose. Or as suggested by @momobobe , at least show the downloaded apk which could then be installed with the pm of the user's choosing. I just tried this setting (using "Legacy Installer) with Neo-Store & it indeed triggers a "choose app" notification which then allows me to select my package manager of choice, in this case, App Manager. So this seems like a fairly trivial workaround. @ImranR98 is this something you could consider implementing? Tagging #584 since this was the original FR I was researching.

0xlne avatar Oct 19 '23 14:10 0xlne

Reopening this - I'm unlikely to implement it but any PRs will be accepted.

ImranR98 avatar Jan 21 '24 04:01 ImranR98