microg / GmsCore

Free implementation of Play Services
https://microg.org
Apache License 2.0
8.67k stars 1.73k forks source link

Downloading MicroG from F-Droid #2638

Open PrivacyAndSecurity opened 3 days ago

PrivacyAndSecurity commented 3 days ago

Hey,

is it possible to install MicroG from F-Droid without sideloading it? Or is it only there in the MicroG Repo to update after I sideloaded it via ADB?

ale5000-git commented 3 days ago

Sideloading via adb doesn't give much advantages over normal installation via F-Droid. Only by installing in the system partition you have access to priv-app permissions, without this you can also install it directly via F-Droid (with some limitations).

PrivacyAndSecurity commented 2 days ago

Sideloading via adb doesn't give much advantages over normal installation via F-Droid. Only by installing in the system partition you have access to priv-app permissions, without this you can also install it directly via F-Droid (with some limitations).

What do you mean with installing in the system partition? I mean how can I do that? Is it not in the System Partition by sideloading via ADB? And what are the limitations by installing it directly via F-Droid? And what are the advantages via ADB sideloading compared to installung via F-Droid? (I try to learn and understand everything)

ale5000-git commented 2 days ago

What do you mean with installing in the system partition? I mean how can I do that?

It means modyfing the system partion manually, or use a flashable zip or a magisk module (all need an unlocked bootloader).

Is it not in the System Partition by sideloading via ADB? And what are the limitations by installing it directly via F-Droid? And what are the advantages via ADB sideloading compared to installung via F-Droid? (I try to learn and understand everything)

Installing via adb sideload / Play Store / F-Droid is almost the same (at the end it is installed only as user app). The is a minor difference that some special permissions can be granted only via adb but I don't think these make a great difference for microG.

If it is a user app and not a system privileged app microG cannot bing to system location and cannot wake-up app that receive notifications when the phone is in standby. I'm not sure if there are also other differences, but mostly are related to the not-granted priv-app permissions.

PrivacyAndSecurity commented 2 days ago

What do you mean with installing in the system partition? I mean how can I do that?

It means modyfing the system partion manually, or use a flashable zip or a magisk module (all need an unlocked bootloader).

But sideloading via ADB is the exact same? I have an unlocked Bootloader already and sideload the MicroG zip via ADB...

Is it not in the System Partition by sideloading via ADB? And what are the limitations by installing it directly via F-Droid? And what are the advantages via ADB sideloading compared to installung via F-Droid? (I try to learn and understand everything)

Installing via adb sideload / Play Store / F-Droid is almost the same (at the end it is installed only as user app). The is a minor difference that some special permissions can be granted only via adb but I don't think these make a great difference for microG.

Yes, I understand. But what are these mimor differences? Because I plan to install it from F-Droid in the Future, instead of sideloading via ADB, because it would be more secure this way.

If it is a user app and not a system privileged app microG cannot bing to system location and cannot wake-up app that receive notifications when the phone is in standby. I'm not sure if there are also other differences, but mostly are related to the not-granted priv-app permissions.

So that means when I install it from F-Droid and my Device is in standby, it don't get or show notifications if I turn it on again? Does it in general receive notifications if I just install it from F-Droid? Because that is the most important why I use it.

MichaelZ4714 commented 1 day ago

You can update an adb-sideloaded microG using F-Droid after adding the repository https://microg.org/fdroid/repo and setting the repo to top of list. Also microG as system priv-app (e.g. Magisk/KSU module) can be updated that way.

PrivacyAndSecurity commented 1 day ago

You can update an adb-sideloaded microG using F-Droid after adding the repository https://microg.org/fdroid/repo and setting the repo to top of list. Also microG as system priv-app (e.g. Magisk/KSU module) can be updated that way.

Okay thank you so much for this helpful reply! But let's say I only get MicroG from F-Droid without having sideloaded it via ADB and without Magisk/KSU module, what difference would that make, compared to having it sideloaded before? Someone before said that I would get not nofification when my Phone is in standby but maybe you can explain everything better for me? And what difference would it make if I update MicroG which I sideloaded before, now by Updating it via MicroG Repo? Does it make a difference if I sideload new MicroG Versions via ADB compared to updating it via MicroG Repo now?

ale5000-git commented 1 day ago

Someone before said that I would get not nofification when my Phone is in standby but maybe you can explain everything better for me?

As I have said you would NOT get notifications when the Phone is in standby also if you sideloaded it via ADB.

PrivacyAndSecurity commented 1 day ago

Someone before said that I would get not nofification when my Phone is in standby but maybe you can explain everything better for me?

As I have said you would NOT get notifications when the Phone is in standby also if you sideloaded it via ADB.

That's not true, because even tho I sideload it since a long time, I always did get Notifications...

ale5000-git commented 1 day ago

You only think it is working but it isn't really working. The permission is android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST and you can't get it from a user app.

I will use WhatsApp as example:

PrivacyAndSecurity commented 16 hours ago

You only think it is working but it isn't really working. The permission is android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST and you can't get it from a user app.

I will use WhatsApp as example:

  • Normal way as system app: When the phone go in deep sleep and you receive a notification then microG wake-up WhatsApp (save battery).
  • User app (case 1): The phone never go to deep sleep due to ROM bugs; the notifications will works but you use more battery.
  • User app (case 2): The ROM detect that Google Play Services is not installed and disable deep sleep; the notifications will works but you use more battery.
  • User app (case 3): You disable battery optimizations for WhatsApp; the notifications of only WhatsApp will works but you use more battery.
  • User app (case 4): The phone go to deep sleep and you will NOT get the notifications until the phone is awakened.

For me, I don't care if it uses more Battery. Because I always get Notifications directly. And that's the only important for me. MicroG in my opinion is not secure and not private, but I use it because I need it for Notifications. But having it as system App only to be 1000% sure, is not a valid reason for me. Because I need to root my Phone. Which is not secure. So it would mean that I would have now two unsecure things. I just use MicroG until I switch to GrapheneOS for sandboxed Google Play Services which are more secure and private.

ale5000-git commented 14 hours ago

The root doesn't need to be permanent, anyone can just:

PrivacyAndSecurity commented 13 hours ago

The root doesn't need to be permant, anyone can just:

  • root
  • flash zip
  • unroot

I did not know of that, but that's actually true. And then update it via F-Droid always?

ale5000-git commented 12 hours ago

If the app is first installed as system app, then it can be updates in any way (F-Droid, adb or other app stores) and it retain its system status (as long as the signature is the same).

PrivacyAndSecurity commented 9 hours ago

If the app is first installed as system app, then it can be updates in any way (F-Droid, adb or other app stores) and it retain its system status (as long as the signature is the same).

Oh okay, thank you for telling. Is this the most right way to install it? Meaning: First install per Magisk, then unroot and update via F-Droid MicroG Repo? And what do you mean with same signature? Like how can I check that or be sure about that. Let's say I installed MicroG as System-App via Root and then did unroot. And now can I just update it from F-Droid MicroG Repo or which Version would I need and how to check/know that? (I want to say thank you so much for helping me so much, that means a lot to me, because I didn't had this knowledge and updating MicroG was really a pain for me. I sideloaded MicroG via ADB and when I want to update it via F-Droid it says that I need to remove the one I have at the moment, because they have different signatures. What should I do? Because I don't want to update it via sideloading. Because it causes often times corruption, thats why I need to do factory reset...)