Strange F-Droid microG Services Core update behaviour

Oh, you are right, I forgot about that!

Now I’ve cleared the doubt! Thank you @paulakreuzer for bringing up the UnifiedNLP thing.

Those naming problems are caused because F-Droid uses the package signature (com.google.android.gms in this case) as the app identifier. That’s not a problem in other cases where the same app is available in more than one repo, but this case is special, because there’s a package name conflict with THREE different apps (UnifiedNLP, microG Services Core and Google Mobile Services themselves).


One package name to rule them all

F-Droid’s repo includes the UnifiedNLP Android package (APK) in three flavours: GApps, no GApps and no GApps legacy. Only the GApps flavour conflicts with Google Mobile Services.
F-Droid does not include microG Services Core in its own repo, you should add the microG’s repo for that.

The thing is, as I explained above: to impersonate Google Mobile Services (tricking the system or another apps), an app should have the same package signature as them; i.e. com.android.google.gms:

  • UnifiedNLP app impersonates GApps at the system level to provide free location services;
  • microG Services Core app impresonates GApps at the system level and for other apps, too, to provide GMS-API-compatible services, including location service.
  • (if GApps installed) Google Mobile Services app doesn’t need to impersonate itself, but uses that package name, obviously.

Thus, microGSC, UnifiedNLP (GApps) and Google Mobile Services share the same package signature, even when they are different apps, and F-Droid list them as the same app, which causes version singularities (UnifiedNLP is at 1.6.7, microG is at 0.2.4-xxxxxx) and naming problems (they often call UnifiedNLP (GApps) to the microG Services Core app, or UnifiedNLP (GApps) to the actual GApps)

P.S.: All this troubles are caused by Android and Google. We must remember that Google is locking up Android’s freedom by outsourcing system features to their Google Mobile Services. microG tries to reverse that move and let you choose which service (SaaS) you want to use, returning the control back to the user.

4 Likes