Skip to content

Conversation

DaVinci9196
Copy link
Contributor

Function extension: Allows installation of installation packages downloaded from other channels to solve the problem that most applications that require the installation source to be GP cannot be used.

The channel application needs to call the vending page in the specified way for installation.

@ale5000-git
Copy link
Member

@DaVinci9196
Is it possible to also invoke this installation via adb? (without having another store app installed but just passing the path of a local apk file to microG Companion)

@DaVinci9196
Copy link
Contributor Author

@DaVinci9196 Is it possible to also invoke this installation via adb? (without having another store app installed but just passing the path of a local apk file to microG Companion)
demo.zip
You can use this demo

@mar-v-in
Copy link
Member

@ale5000-git this is effectively the same as installing with adb install -i com.android.vending [...], so it's not really needed to make this accessible from adb

@ale5000-git
Copy link
Member

ale5000-git commented Sep 29, 2025

@ale5000-git this is effectively the same as installing with adb install -i com.android.vending [...], so it's not really needed to make this accessible from adb

@mar-v-in
Via adb you can set installSource but not installInitiator.
If microG can "hide" where the command originated (shell) without using root, then we can avoid this issue.

@mar-v-in
Copy link
Member

I see. The problem is that on Android, activities only reliably learn the initiator of a request when it is invoked using startActivityForResult(), but the adb shell am start command uses a regular startActivity() call. But maybe we can use something else, e.g. a custom service call instead. Let's keep that out of the initial feature though.

@ale5000-git
Copy link
Member

Recently I had another similar idea (but I hadn't yet time to really look at it):

It would bring two advantages:

  1. F-Droid can use it directly with just a minor change (package name);
  2. On new Android versions all app stores can install apps (with user confirmation), but on old Android no app stores can do it (except privileged system apps) without enable the option to install from unknown sources in Android developer settings; this thing would solve this problem.

@mar-v-in mar-v-in added this to the 0.3.10 milestone Sep 29, 2025
@ale5000-git
Copy link
Member

@mar-v-in
What do you think of this? #3074 (comment)

@mar-v-in
Copy link
Member

@ale5000-git the purpose of this is not to give vending / microG Companion privileged install permission for use by other apps, but really is only about triggering installation from the com.android.vending package so that installSource/Initiator is set when apps have checks for it (e.g. Android Auto). The idea would be that Aurora Store implements this API (as one of its many installer options) for much better user-experience without any modification needed on the ROM.

@ale5000-git
Copy link
Member

@ale5000-git the purpose of this is not to give vending / microG Companion privileged install permission for use by other apps, but really is only about triggering installation from the com.android.vending package so that installSource/Initiator is set when apps have checks for it (e.g. Android Auto). The idea would be that Aurora Store implements this API (as one of its many installer options) for much better user-experience without any modification needed on the ROM.

It seems good, but I hope it is implemented also in F-Droid since one may also want to allow an app installed by F-Droid to appears in Android Auto.

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.

3 participants