yashsingh1/xdaforums huggingface dataset:
[Android Apps and Games] AnonVendetta:
You can use official Play Store with MicroG, that's what I've been doing for many months. It will work fine. No need to flash a GApps package to get Play Store. The other alternative is to use FakeStore with MicroG. FakeStore pretends to be Play Store, but does nothing besides that, it's just an empty package. Some apps complain if they can't find Play Store/com.android.vending package name, this is why FakeStore exists. FakeStore doesn't handle licensing/in app purchases at all, you can't use it to download apps either.

Or, as I and @ale5000 have mentioned, install MicroG GmsCore v0.3.2, then open the app and toggle the licensing/billing options. Still experimental, and since I use Play Store with MicroG, I have both of these settings toggled to off/disabled. I don't need them turned on since Play Store handles licensing/billing for me. I think these toggles are targeted at users who use MicroG with FakeStore, or MicroG alone without Play Store/FakeStore, since there are no other options to handle these for those users, unless they're willing to also install Play Store.

I get the degoogling your phone logic, I just personally prefer to use Play Store with MicroG due to my large collection of paid apps and stuff I've bought in apps over the yrs. And Play Store undeniably has the largest selection of Android apps out there. Wherever possible I do try to obtain apps without Play Store, preferring free and open source apps when they are well suited to my usage scenarios.

App Manager doesn't depend on Google stuff at all, and is completely free and open source. If you give it a serious look, I think you'll find that its' backup/restore functions are on par with Swift, if not better. However, I don't believe that App Manager will sync backups to a cloud service (perhaps by the design of its' author, not sure), so if cloud capabilities are important to you then Swift is better in this regard.
[Android Apps and Games] Heat84:
How do you install FakeStore? I ran the batch file thats in the zip file, but I don't know if it installed. And there was an Interceptor message from App Manager after I ran the batch file.
[Android Apps and Games] kurtn:
What zip file are you talking about? This Thread is about microG, not one of the flashable installers.

The best place to check for successful installation is microG self-check.
[Android Apps and Games] AnonVendetta:
What batch file? What zip file? From where? By who? You gotta give a point of reference here so there's some context, you can't just expect people to magically understand what you mean.

If it's just installing FakeStore you want to do, grab the apk from microg.org. Then remount your Android system partition as read/write. Go to /system/priv-app/ path. In there create a folder called FakeStore. Put the apk inside that folder and name it to FakeStore.apk. Directory permissions should be 0755, the file's permission should be 0644. Then reboot, it should be installed, but you wont see an icon for it because it doesnt have one. Open the MicroG app and check there.

It's probably better if you use a MicroG installer that handles all the details for you. I use MicroG Installer Revived as a reference point because it's the cleanest and "just works". You can configure it to install either FakeStore or real Play Store. However MIR doesnt support any installation mode besides Magisk, no zips you can install from TWRP that will put MicroG directly into the system partition without depending on Magisk. I personally prefer system mode installation instead of having MicroG as a Magisk module. But it's easy enough to extract the files from the MIR zip and manually push them myself.

There are other installers, but I feel they're a bit too heavy in terms of what they include. Ex:

MinMicroG

@ale5000's MicroG installer

NanoDroid's MicroG installers (older, not recently updated, and not suitable for newer devices, but should work great on old stuff)

The App Manager interceptor feature can be a bit annoying when it pops up, but i don't quite undertand how it works. So I just disable it from AM settings menu. Will have to give it a deeper look when i get more time, I'm sure it's useful.
[Android Apps and Games] ale5000:
@AnonVendetta

FakeStore (now called microG Companion) is no longer just an empty package.

The licensing/billing options are in microG Services but just the option is here the real code is inside FakeStore (now called microG Companion).

So now it is opportune that microG Companion match the version of microG Services.

My zip can install directly from TWRP or also on a running system and will put microG directly into the system partition without depending on Magisk.

About heavy what do you mean? In my installer almost everything is optional and can be disabled during installation.

@Heat84

Batch files are files with .bat extension for Windows, myabe you are using the wrong term?
[Android Apps and Games] AnonVendetta:
Thanks for the FakeStore info, I was unaware that it's no longer just an empty package. I've always replaced it with Play Store, so I was just going on the descriptions I've read elsewhere.

So basically:

If the toggles are disabled in GmsCore, FakeStore will continue to act as an empty package that pretends to be Play Store. But if the toggles are enabled, FakeStore will try to handle licensing/billing requests. ??? Maybe later I will test install FakeStore to see how well these functions work with stuff I've already bought. Maybe a test purchase here and there. I do play a variety of mobile games and periodically make in app purchases in the games, so it will be a good test.

I didn't really mean heavy in the sense of "bloated", only that some MicroG installer packages are more heavy than others. I've found that Revived is the lightest installer out there. With the only downside being that it doesn't support direct system mode installation. Some time soon I'll ask for this in the form of a feature request on GitHub, but I'm not sure if nift4 is open to this.

And yeah, most of the other packages have configuration options. But I can't be bothered with that, I want to flash an installer and have it "just work". Revived does that wonderfully.

IMO, a MicroG installer package should ideally ONLY have the following mandatory core components, and NOTHING MORE:

GmsCore

GsfProxy

FakeStore, or official Play Store

Various configuration files that do things like granting necessary permissions for MicroG-related packages

And optionally, but not totally necessary:

Google Contacts sync adapter

Google Calendar sync adapter

Maps API v1

In the past I would have considered UnifiedNlp backends as being important, but no longer, due to MicroG removing UnifiedNlp.

Including unnecessary stuff like Aurora Store, F-Droid, NewPipe, other open source apps, etc is just unwarranted, they do nothing to contribute to MicroG functionality. I don't want to have to edit a config file(s) to disable the installation of something that never should have been installed at all. And besides that, these are all standalone obtainable by the user if they want them.

Revived also includes an extra overlay that ensures that MicroG is recognized as a location provider by Android. Perhaps necessary or not, depending on the ROM.

Another installer I like is MinMicroG. It installs an additional binary into /system/bin/, it's called npem. Basically a small shell script the user can manually run, that will attempt to grant alll relevant permissions to MicroG. This script seems installer-independent and can be used with any MicroG installer package, but I haven't seen it bundled with any besides MinMicroG.
[Android Apps and Games] ale5000:
The code in FakeStore (microG Companion) is basically the replacement of the code in PlayStore (not everything but just the license/billing checks and other minor things).

With FakeStore (microG Companion) the settings in microG Services about license/billing are respected.

Instead with PlayStore the settings about license/billing are just ignored and nothing will change by toggling them.

My installer have live setup, using the hardware volume buttons during the zip flashing you can control what to install, it is really easy.

But you can also alter settings.conf inside the zip to change default options.

About heavy if you mean the total zip size, it really doesn't matter, because my installer contains duplicate apps to be adapted to different versions of Android but only the right ones for your device are installed so the final size occupied on the system partition is a lot less.

UnifiedNlp backends are installed only in old Android versions where an old version of microG is needed, so actually most of the zip is here but not installed.

I put NewPipe since it is a replacement for the removed YouTube but it is really simple to disable it.

Aurora Store and F-Droid apps was never included, just their privileged extensions since they need to be installed as privileged apps otherwise they don't work.

My installer install a script called minutil in /system/bin/, after installation just run

adb shell minutil

to show the help.

Actually in my installer there are a lot of pearls like this but it is true that I lack documentation :)

Anyway for things specific to my installer just ask in my thread if you interested.
[Android Apps and Games] AnonVendetta:
I already have a functional direct system install on my LOS20 gsi ROMs, containing only the components I want. And I know what's installed because I inspected all the files before manually pushing them.

So what's the purpose of minutil? It is like the npem binary included with MinMicroG? Is it a standalone binary/shell script that works independently of your specific installer?
[Android Apps and Games] ale5000:
Similar purpose, is it a standalone shell script that works independently.

It is here: https://github.com/micro5k/microg-unofficial-installer/blob/main/zip-content/files/bin/minutil.sh

The most interesting functions is -i that "Reinstall PACKAGE_NAME as if it were installed from Play Store and grant it all permissions".
[Android Apps and Games] kurtn:
Good collection. Ony point you missed: the main reason to have installers is to make service core and play store system apps. If you don't need play store and don't need microG to register as system location provider, you can easily install the components from f-droid repo.
[Android Apps and Games] AnonVendetta:
I've always thought that GmsCore can't function correctly on newer Android versions if it's not a system app. I do believe that ever since Nougat+, GmsCore won't be recognized as a location provider if it's not a system app.

And on gsi ROMs that use @phhusson's AOSP source code, signature spoofing won't be granted if GmsCore isn't a privileged system app.

Also, Play Store (official) doesn't work 100% when it's a system app. It seems to need some permissions that Android won't grant to user apps (apps installed in /data/app/ but not in system partition).
[Android Apps and Games] AnonVendetta:
I just tested Swift with MicroG GmsCore 0.3.2, and FakeStore/MicroG Companion 0.3.2. Official play store wasnt present during this test. And signed into my Google account in MicroG, along with enabling the licensing/billing options. Swift recognized my premium license just fine, and i had no isssues linking Google Drive as a cloud backup destination. No issues at all.

I have no intention of using Swift, since i think that App Manager is superior as a backup solution. Was just curious to see if it would work. Just so you know.
[Android Apps and Games] AnonVendetta:
@ale5000: Will FakeStore/MicroG Companion work 100% (for licensing/billing) when installed only as a user app (no apk in the system partition, just installed in the "normal" way like a regular app)? It would have to run services to handle those things, not sure if that would be restricted. I'm sure official Play Store cant, since it requires alot of permissions, and some of those perms wont be granted to a package installed only as user app.
[Android Apps and Games] ale5000:
For the most part microG/FakeStore works perfectly also as user app.

It isn't 100% but for the most part.

Other than that licensing/billing in general doesn't always works in all apps but I think the compatibility is good enough and will surely improved over the time.
[Android Apps and Games] AnonVendetta:
I spent about 6 hrs yesterday testing MicroG Companion in place of Play Store. It worked pretty well for the most part. It was able to verify the licenses of all my paid apps, I also made a few test purchases for small amounts in games that I play. All successful.

However, it wasn't 100%. I have a subscription for AutoApps, which is basically a supplemental app for Tasker users. AutoApps wasn't able to validate my already existing sub, complaining that it couldn't find billing services.

For daily use it has good enough compatibility for the average MicroG user, but still needs polishing.
[Android Apps and Games] kurtn:
Please help polishing. Write good bug reports. Not here, but in Github. And maybe contact AutoApps developer for support.
[Android Apps and Games] AnonVendetta:
After those tests, I feel like I'm ready to ditch Play Store. But that will leave a huge gap to fill in terms of downloading apps from Google without their official store app. There's Aurora Store as the most feasible on-device alt, but it hasn't always been reliable for me.

I'll have to take a bug report for that app and submit it on GitHub. The app itself hasn't been updated in a few yrs. Maybe I can nudge the dev for a possible update. I support him on Patreon, so I have a direct line of contact. But the response I'd be expecting to get is "Sorry, but the billing works with Play Store, there is no obligation to support compatibility with unofficial drop in replacement projects". I don't know what his opinion on MicroG is, only that he's aware of it.
[Android Apps and Games] petefoth:
I've been using it for a quite a long time. Recent versions have been very stable & reliable
[Android Apps and Games] AnonVendetta:
I really resent that the Aurora devs took away the ability to save APKs offline in a local directory on the user-accessible internal storage. You can still export saved apps into a zip file, but only manually and per app. I liked it better when there was a simple toggle for saving them by default. I just like being able to build up an apk collection of my most used apps, so I can install them without internet.

Also, some yrs ago I filed a bug report on their GitLab, complete with logs and exhaustive description of what happened. They all but ignored it. I have a gut feeling they knew how to fix it, but just couldn't be bothered. Many months later they did fix it, but only after I'd given up and moved on.

The Aurora devs do good work, but I don't have the highest opinion of them as individuals.
[Android Apps and Games] ale5000:
I think it is better to have microG support all apps rather than having the app author workaround the issue since the latter won't improve microG.
[Android Apps and Games] ale5000:
Once the app is installed you can get the path with:

adb shell pm path [app_internal_name]

and then copy it yourself.
[Android Apps and Games] AnonVendetta:
Yes, I know. I was just grouching about the Aurora devs unnecessarily removing useful features. That, to me, was one of Aurora's best features.

A better alt to Aurora is Raccoon. But it requires a PC and Java JRE. And a way to sync the stored apps to mobile. The best client bar none for downloading apps directly from Google, with offline saving of all downloaded apps.
[Android Apps and Games] AnonVendetta:
I'm looking for a way to sync contacts/calendars without google's sync adapters. There's EteSync, which seems to require a monthly sub, which I don't want.

I know I can save my contacts into vcf format and import/export that, for an entirely offline solution.

But still, my contacts are on google's servers to begin with, so there is a need to sync from them without their sync adapter components. I'm not opposed to paying a one time fee for an app that can handle both, as long as it's just once and not a recurring cost. If there is a need to continually keep paying, then I'm better off using the google sync adapters at no monetary cost.

Now that MicroG Companion handles billing/licensing, it has mostly removed my need to use Play Store directly. It got me thinking if there is a better way to handle calendar/contacts syncing than the adapters google provides.
[Android Apps and Games] ale5000:
@AnonVendetta

There is a peculiarity with calendar, if you install Google Calendar as user app (even without sync adapters), then also the non-Google calendar apps will be able to sync with Google.

This also mean that if someone is able to rewrite that sync code to do the same thing of the one inside Google Calendar then even microG as user app will be able to sync calendar without any additional apps.
[Android Apps and Games] AnonVendetta:
I don't use the google calendar app and never have. Furthermore, I have no interest in it. And it wouldn't handle contacts even if I were willing to use it.
[Android Apps and Games] ale5000:
I was just pointing out that if it is installed, even if never used, it allow to sync on other apps (just for calendars but it is still a step forward).
[Android Apps and Games] AnonVendetta:
I 100% agree with your assessment. MicroG is the minority whereas official Google stuff like Play Store isn't. App authors shouldn't have to go out of their way to provide workarounds for MicroG users, who represent only a teeny tiny % of the total overall Android "population". It is the MicroG devs who need to up their game, not app devs in general.
[Android Apps and Games] AnonVendetta:
I have found DAVx5, first in a Google search, then on F-Droid. It claims to be able to sync both. So I removed my Google account, then followed a short setup process in the app, part of which involved logging into Google in a web browser. After checking my contacts app, the contacts appeared to be present.

Next step is to eventually get my data off google servers and find a way to sync that bypasses them. For now DAVx5 still connects to google to fetch the info, so I'm not avoiding them entirely, but it provides a way to sync without google's adapters. I'm guessing I could set up a CalDAV/CardDAV server and self host, then sync to/from that. It's something I'll have to look into soon when time permits.
[Android Apps and Games] ale5000:
That works perfectly but the main problem is the additional complications.

With sync adapters once the account is added it is seen by all apps, instead in other ways every apps must be configured separately and every time you need to change account you need to do it in all apps manually.

The sync adapters, after all, are just apps; so it is possible to rewrite them to bind to the account added by microG and to get calendar/contacts from Google (or maybe even from elsewhere).

It is just that noone is working on it.
[Android Apps and Games] AnonVendetta:
Logically, shouldn't the MicroG devs be the ones that should initiate work on this? One of MicroG's stated goals is to provide as much compatibility as possible with apps and services that use Google components. For many users, syncing is part of that functionality. Which MicroG has never natively supported, BUT SHOULD.

It is quite brave of the MicroG devs to add licensing/billing support. But it's also a risky move that could bring the Big G down on the project. Google may become aware of this functionality and decide that only Play Store is allowed to handle these on mobile devices. MicroG only exists because Google has turned a blind eye to it. But MicroG is a minority, it's not a threat to their dominance, and not worth pursuing. All it would take is some serious looking letters from attornies, and demands from Google that this functionality be removed or else, I bet the MicroG devs would comply, because they can't afford to battle Google in the long run.
[Android Apps and Games] ale5000:
The main author of microG is a single person.

The licensing service is a PR from fynngodau.

The goal may also be everything but more than one life is needed :-)

The main author already have a infinite amount of work to do and I don't think this is a priority.

So unless someone step in a do a PR for it nothing will change.

About the legal problem I'm not a lawyer but I think there is a law that allow "interoperability".
[Android Apps and Games] Oswald Boelcke:
Our µG dev is a German and most likely living in Germany. I'm curious about a letter from Google attorneys. Google has already enough trouble with the EU commission.
[Android Apps and Games] AnonVendetta:
Google can always try to make the argument that only Play Store is authorized to oversee licensing/billing stuff. However, in the case of MicroG companion, it acts as a middleman between MicroG and Google. Maybe Google isn't agreeable to having these things pass through a 3rd party component that isn't authored by them. And their concern would be valid, they can't necessarily trust the requests if they're initiated by something that's outside their control. On the other hand, as long as they get the money from these, maybe they won't care.

Speaking of laws, I'm American born and raised. There are dozens of countries, each with their own laws. What applies in one country may not hold true elsewhere. This makes any legal scenario infinitely more complicated.
[Android Apps and Games] ale5000:
This doesn't really matter, I think only the country where the website is hosted or the developer live count.

It isn't likely that the law of another country could be enforced, just the users residing in these countries may be affected but it isn't likely that they will be able to know what is installed in the phone of all users.
[Android Apps and Games] AnonVendetta:
When MicroG communicates with Google's servers, they are definitely aware that they are not "talking" with real Play Services/Play Store. They can check a variety of things, from the app's version to its' signature, and probably a lot of other variables I'm not aware of. Spoofing may be enough to trick Android, and apps into believing that MicroG GmsCore is the real deal. But I don't think google is fooled. The question is, do they care? So far, apparently no, because MicroG is a goldfish to them in an ocean where they're a whale.
[Android Apps and Games] ale5000:
I think the most that it can be is to ban the account, it is unlikely to have legal consequences.
[Android Apps and Games] AnonVendetta:
Not once have I ever heard of even one instance of Google banning an account due to MicroG. I have used my real Google account with MicroG for many yrs, no obvious repercussions so far. I'm sure they know I use MicroG, which is technically a violation of their policies. But I do use Gmail and periodically buy apps and stuff inside apps, and their search capability, so maybe they don't care because they know I still do business with them and interact with them in some capacity or another. They still make money from me and I'm sure they collect whatever data they can from me. So in that regard I'm not a "lost customer" and still represent something they can mine. The best I can do is de-google myself wherever possible and keep my interactions to a minimum level that doesn't bother me.

I don't like some of their business policies, but they are useful to me to some degree, so I have no desire to completely purge them from my life. They are a necessary evil.

I think I would have to flagrantly and seriously violate their rules before they would consider me worthy of a ban. Simply using an unofficial project isn't enough.
[Android Apps and Games] AnonVendetta:
I'm using the microg apks from microg.org. will updating microg from F-Droid work? I know they like to resign the apps with their own keys. If I were an app dev I would never submit anything to their official repos, because the idea of resigning my app with any key other than mine just isn't acceptable to me, that's not OK with me. But I'll gladly use apps from their repos, just because they're not my IP.