yashsingh1/xdaforums huggingface dataset:
[Android Apps and Games] kurtn:
I guess there is something else requesting location in background. Maybe a system app?
[Android Apps and Games] notoriginal10:
I don't know, every app seems to be listed. I took a partial screenshot of my ROM's

Settings > Location > App access to location > (top right menu) Dashboard

and I guess the provider apps just have a high polling rate.

Maybe I'm misunderstanding how it works, but these apps seem to provide the location for other apps to access, they access the location on their own behalf, so to speak.

I was just curious if that's how it works. The constant location icon popping up in the status bar made me wonder in the first place.
[Android Apps and Games] oF2pks:
You won't find any: https://github.com/bbindreiter/PushNotificationTester_App/issues/8

... as I already commented previously:
[Android Apps and Games] oF2pks:
New build is up v0.2.25.223616 but download process can break (github? @MaR-V-iN ) for F-droid and regular browsers: use ChromeCanary or desktop PC to download/install it.

(Chrome Canary is fine (no trackers) when you encounter web malfunctions for testing bugs on youtube facebook or streaming... but avoid private data through it...)
[Android Apps and Games] ale5000:
You can also get it from here: https://microg.org/download.html
[Android Apps and Games] patrickdrd:
which is down atm

edit: it loads, but it's very slow
[Android Apps and Games] Psk.It:
this one?
[Android Apps and Games] ale5000:
Currently the speed is 1,1 MB/s
[Android Apps and Games] kurtn:
F-droid issue should be fixed

Impossible to update microg from f-droid anymore · Issue #1805 · microg/GmsCore

Before there was some problem with updating it on LineageOS for microg ROM, but it had simple solution, and now no way you can do — signature incompability is the reason.

github.com
[Android Apps and Games] AnonVendetta:
I'm currently using the official phh FLOSS GSI, secure variant, which is patched for spoofing and already includes MicroG gms core. I've updated the app to the 0.2.25.223616 on the MicroG website. I'm also rooted with Magisk.

I've noticed that the newer gms cores have an inbuilt SafetyNet checker. I'm wondering whether the droidguard helper APKs are still needed to pass SN. Or are they outdated and superceded by the newer gms core versions?

I've also noticed that the latest builds of MicroG Installer Revived no longer include droidguard, but older releases did.

The GSI itself also doesn't include droidguard.

If it's needed, I can push it to priv-app manually and factory reset.

I previously got both basic integrity and CTS profile passing on this GSI. I tried Pokemon go, it wouldn't let me log in with a Google account, but did let me use my Facebook account. I was able to play for over an hour without issues. I'm thinking this might be a MicroG issue, since the game throws an error when trying to login via Google.
[Android Apps and Games] ale5000:
DroidGuard Helper is outdated and no longer used, it is now integrated inside microG GmsCore.
[Android Apps and Games] drnightshadow:
Nice to see you here my friend 🤗
[Android Apps and Games] -Happy Feet-:
I have installed an AOSP rom on my google pixel 6 pro. Is it possible to install microg to fake GSF? That is the only thing I need from Google.
[Android Apps and Games] ale5000:
Yes, but it will work correctly only if the ROM support signature spoofing,
[Android Apps and Games] -Happy Feet-:
Yes the ROM support it. What is the best way to install microg?
[Android Apps and Games] kurtn:
To learn it, you can start with installing it from f-droid. Make sure no GApps is installed
[Android Apps and Games] -Happy Feet-:
Okay it works. But some apps telling the play services are too old.
[Android Apps and Games] ale5000:
You need both microG GmsCore (at least v0.2.25.223616) and FakeStore (at least v0.1.0).
[Android Apps and Games] -Happy Feet-:
Already installed
[Android Apps and Games] ale5000:
Could you please open an issue here: https://github.com/microg/GmsCore/issues

and post a logcat.
[Android Apps and Games] AnonVendetta:
Not my problem, but I don't really think this user has anything to worry about. Some apps check the version of GmsCore, and because MicroG doesn't use the same versions that official Play Services use, this will naturally occur from time to time. I see it every so often (rarely), and just ignore it if the app is usable. And oftentimes they aren't really checking GmsCore version, they're actually checking Play Store. "Too old" or "missing play services" is just a generic message that has been coded in by the apps.
[Android Apps and Games] ale5000:
Are you completely sure?

Recently I have seen that some apps just check that if some features are present and if not they incorrectly presume that Google Play Services is outdated.

With the logcat we can see what features are missing and advertise them.

This is an example: https://github.com/microg/GmsCore/commit/f4c9ecf1f6fc86101fdd19dbbaa10fb873efffbb
[Android Apps and Games] AnonVendetta:
Now I'm not. As of today, I noticed that Ampere will say that Google Play Services is missing *IF* I sideload the APK (legit version, not cracked or anything, I just made a local copy of it). But if I uninstall it and then reinstall from Play Store, the message doesn't appear. It also recognizes my in-app purchase. I'm using the latest official Play Store with MicroG.

I encountered another app yesterday that gave a similar message, but I can't remember the name of the app. And it wasn't the same circumstance as above.
[Android Apps and Games] ale5000:
This case is simply the install source detection (possibly different from the problem of the other user).

I have made a script that allow to reinstall apps as if they were installed from Play Store without the need to download them again:

microg-unofficial-installer/zip-content/files/bin/minutil.sh at main · micro5k/microg-unofficial-installer

microG unofficial installer - it installs microG on Android - micro5k/microg-unofficial-installer

github.com

MinUtil help:
[Android Apps and Games] AnonVendetta:
I know how to make an app think it's been installed by play store instead of package installer:

pm install -i 'com.android.vending' /path/to/apk/here.apk

It makes the installer source appear to be play store, can be used with any APK.

Not sure how to do this with split APKs though, just non-split ones.
[Android Apps and Games] ale5000:
My script doesn't need an apk (it reuse the installed one without the need to redownload or copy) and works also for split packages.
[Android Apps and Games] AnonVendetta:
Does it use the pm install -i parameter?
[Android Apps and Games] ale5000:
Only for normal apk files, for split apk files it use pm install-create -i, but the best thing is that it find all apk parts without the need of you to provide them.
[Android Apps and Games] AnonVendetta:
For split apps, I usually zip them up with a *.APKS file extension. I'm guessing your script would need that to be extracted first? Or can it parse the contents of an APKS without prior extraction?
[Android Apps and Games] ale5000:
My script doesn't install apps directly, it just "reinstall" them, without losing their data.

For example to reinstall NewPipe (it must be already installed), you just use:

adb shell minutil.sh -i org.schabi.newpipe
[Android Apps and Games] AnonVendetta:
Ok. So it's not useful for newly installed apps. I could just use Titanium Backup or Lucky Patcher (the latter is forbidden here for obvious reasons). But what they both have in common is that they use com.android.vending as the install source for all app installs (Titanium has a configurable option to toggle this). And they both work with splits/non-splits.
[Android Apps and Games] ale5000:
My use case is installing an app from Aurora Store, then reinstalling it with the script, so no annoying apk downloads from the browser (it should also fix the missing permissions if you installed an app before microG without the need of uninstall it first.
[Android Apps and Games] AnonVendetta:
I don't mind APK downloads. I actually prefer them, I can keep an offline archive that way.

I used to use Aurora, but nowadays I use Raccoon APK Downloader. Far superior, but requires a PC. It technically is only a downloader/Play Store GUI frontend though. It can do installs via ADB, but that's not its' primary function.
[Android Apps and Games] AnonVendetta:
@ale5000:

Raccoon can also be ran indirectly via Android:

1. Install Andronix

2. Install a minimal Linux distro like Arch

3. Configure GUI access and get into the desktop via VNC

3. Install java JRE or Java JDK

4. Run the Raccoon jar file

With a small tweak to a script, it can even save downloaded files to a custom directory, that is accessible in Android without Andronix. Like on a MicroSD. Raccoon is great for keeping archives of apps. It also supports multiple profiles (Google accounts), and free/paid apps. If you use its' DummyDroid companion program, you can also generate multiple device profiles, generate valid Android IDs, etc.

Downsides:

1. Andronix only supports running distros on 64 bit CPUs.

2. It will be quite unwieldy to navigate/control the Linux/Raccoon GUI, on a device that has a small screen (like a phone). I use this method on a Galaxy Tab S7+, so it's manageable for me.
[Android Apps and Games] ale5000:
For those that doesn't find microG GmsCore updates, there is a list of links of microG GmsCore for every ROM (that I know) here: https://github.com/micro5k/gmscore-info
[Android Apps and Games] lama02:
microG: information & safety about SafetyNet/DroidGuard

Hi all,

I'm using microG because I don't want closed binaries running on my Android Device with privileged rights. In this context, I would like to get more information about SafetyNet and DroidGuard, but unfortunately I don't find anything relevant.

If I understood correctly, SafetyNet is a Google API that provides information for the other applications about the state of the device, concerning the security (like bootloader state and so on). In this system, DroidGuard is a closed binary tool that can perform signatures or check in the SafetyNet context.

As indicated in microG, the SafetyNet implementation is open source, but it depends of the DroidGuard binary to perform some operations.

So my question is: is it safe to enable SafetyNet into microG, due to the DroidGuard part? By safe I mean, no risk to see a closed binary doing some thing I don't want? Because, if the service is run as root, it could theoricaly do anything on the device, no?

I'm OK to use closed apps in a microG ROM due to the authorization isolation provided by Android, and I'm also OK to use some Google features. But I'm not OK to have closed binaries running without isolation on the device.

Thanks,

lama02.
[Android Apps and Games] kurtn:
Droid guard is sandboxed by microG. And running as system app is not equal to having root privileges.
[Android Apps and Games] lama02:
OK thank you for your reply. So it's perfectly safe to run DroidGuard through microG, nice to know.

But in this case what's the purpose to use a remote DroidGuard (we can configure that in the advanced menu)?
[Android Apps and Games] kurtn:
I don't know. Is remote droid guard a left over from the times we had a separate droid guard helper app?
[Android Apps and Games] ale5000:
This would probably be even more safe, but this would need a remote server that currently doesn't exist.

It isn't just that the server isn't up, the code for the server would also need to be implemented.
[Android Apps and Games] lama02:
Thank you - ideed I searched for this remote DroidGuard but found nothing.

What do you mean by "even more safe"? If the DroidGuard process is sandboxed, what are the risks?
[Android Apps and Games] ale5000:
I wasn't talking about security but about privacy, it had to download a binary from a Google server so they at least know your IP.

It isn't like there is any problem but if you want to be completely anonymous a separate server would be better.
[Android Apps and Games] lama02:
Perfectly clear, so it's acceptable for me. I just don't want a non sandboxed closed binary running on my phone.

Thank you :)
[Android Apps and Games] wombatch:
I am trying to install microg on a rom that is pretty much still in beta but I was hoping far enough along that it would work. I built the rom and got it installed then tried to install microg using the "by hand method" ie. copy to /system/priv-app.

The first time i did this it boot looped i haven't installed by hand for years but it seems android x(no idea which x) introduced a requirement for a permissions file in /etc/permissions. I included one of those and got out of my boot loop but still I get the message from some products (let's take signal as an example) that Play services needs to be installed or updated.

I have the latest microg (latest -1 in priv-app) so i am wondering if somewhere there is something else (like the permissions xml file) which needs to be done in order to ensure it works properly? (I've tried blank-store and fake-store).

Another thought, maybe the permissions file should have a fixed name?

Thanks for any help.
[Android Apps and Games] kurtn:
MicroG doesn't need to be a system app to be detected by signal. But it must spoof the signature of Google play services. Did you pick a spoofing patch for your build?
[Android Apps and Games] wombatch:
I used this one "https://github.com/lineageos4microg...ofing_patches/android_frameworks_base-R.patch"

It seems to work ok? According to the spoofing checker and microg both of which report that signature spoofing is supported.
[Android Apps and Games] kurtn:
All spoofing related boxes have to be checked in microG

And delete signal app data.
[Android Apps and Games] wombatch:
they are all ticked, i'll try deleting the app and all the data and see what happens, thank you.
[Android Apps and Games] ale5000:
You also need FakeStore and a proper sysconfig file to work rebliably.

To note: the installers exists because 9 time out of 10 people do errors when doing things at hand.
[Android Apps and Games] wombatch:
A proper sysconfig file? where is this documented?

Why would I want to use an installer that does a whole load of other things?

also I see that this patch "https://github.com/lineageos4microg...es/packages_apps_PermissionController-R.patch" exists too, do I need that as well?
[Android Apps and Games] ale5000:
They are a whole load of other needed things (in most cases).

If you are talking about additional apps, in most cases there are options to exclude them.

Also all installers that I know are open source.

You can see an example of the sysconfig here.

You can skip the parts about apps that you don't have installed.

The file come from real life use, I'm not sure if it is documented properly, it is just used to lift some limitation of newer Android versions.

The patch you linked is related to signature spoofing patch (and it isn't the complete one, the complete one is here), in most cases it is simpler to get a ROM that already include it.
[Android Apps and Games] ale5000:
Hi,

I have created a script to automatically generate a device profile (usable by microG) from a device connected via adb: https://github.com/micro5k/microg-unofficial-installer/blob/main/utils/profile-generator.sh

Only adb and a device are needed (on Windows you also need busybox to execute the script).

I would like a feedback from all interested people.

PS: It can create a profile from most devices and even emulators but it only make sense to create a profile from devices that pass SafetyNet.
[Android Apps and Games] AnonVendetta:
Where/how would I "feed" this profile to MicroG?
[Android Apps and Games] ale5000:
- Connect that phone (that pass SafetyNet) that you want to profile to the pc

- Run this on the pc:

sh ./profile-generator.sh > profile-name.xml

- Transfer the file

profile-name.xml

to the phone

- Choose it from microG settings => Google device registration => Import custom profile
[Android Apps and Games] kurtn:
And that cheats safetynet attestation into a phone without GApps or magisk or ih8sn?
[Android Apps and Games] AnonVendetta:
Do you think the busybox package offered in Cygwin's repository, will work as well in place of/instead of what you linked?

Edit: Not sure if this will work on a Note 20 Ultra 5g/Tab S7 Plus 5g, that only has an unlocked bootloader, but is otherwise currently bone stock (not rooted, no custom recovery, etc). If both pass SN, I'll try the script. If not, I'll relock the bootloader to see if that changes anything. Knox is permanently tripped on both, that isn't reversible no matter what, not sure if it affects SN status.

Edit #2: Everything passes except CTS profile. I'm on the latest stock with no modifications, so it must be the bootloader.
[Android Apps and Games] ale5000:
The requisite to pass is that your device doesn't have hardware attestation or that the ROM block hardware attestation for SafetyNet (there are patches available and some ROMs already include them).

After this you mainly need to spoof info (with device profiles) in one of the way:

- Create a profile from a device that pass SafetyNet and doesn't physically have hardware attestation: you can use it directly;

- Create a profile from a device that pass SafetyNet and does have hardware attestation: you need to add a space in the model name and then you can use it.
[Android Apps and Games] AnonVendetta:
Need more clarification. So the steps are?:

1. Generate profile while SN fully passes

2. Once the profile file is generated, literally add a space in the model name of the file, like SM-N986N would become SM- N986N(?)

3. Import into microg

My intention is to generate the profile on stock rom, then use it with MicroG running on a custom gsi rom

I can already pass SN with Magisk and a few modules, but I'd like to find a way to fully pass without needing root stuff. So basically, unlocked bootloader + gsi + MicroG + no Magisk
[Android Apps and Games] ale5000:
The space thing is explained better here:

https://github.com/ProtonAOSP/android_frameworks_base/commit/a99ac1b48a9b

The ROM patch is explained here:

keystore: Block key attestation for SafetyNet · ProtonAOSP/android_frameworks_base@13dc7d2

SafetyNet (part of Google Play Services) opportunistically uses hardware-backed key attestation via KeyStore as a strong integrity check. This causes SafetyNet to fail on custom ROMs because the ve...

github.com

PS: I can't test this thing specifically since my device doesn't support hardware attestation so I don't have any problem.
[Android Apps and Games] ale5000:
The script is "almost" POSIX-compliant with just minor exceptions, hopefully it will works in all shells.
[Android Apps and Games] AnonVendetta:
I intend to run it in Linux anyway, even though I dualboot Windows 10 and several Linux distros.
[Android Apps and Games] AnonVendetta:
Still need more clarification on the space. I've checked the github link. I'm not sure if the space goes in the name of the generated profile file. Or if the file is meant to be edited, with a space added somewhere inside it. Can you give an actual example of without space vs with space?

How to check whether the device supports hardware attestation? I'm still running the stock firmwares. I also relocked the bootloaders, SN does now fully pass on both devices. I'm sure that they do support attestation, since they're not ancient, but I'd like to check. Both are currently running stock Android 13.
[Android Apps and Games] ale5000:
I cannot test it but it should be like this, from:

<data key="Build.MODEL" value="SM-N986N" />

to:

<data key="Build.MODEL" value="SM-N986N " />
[Android Apps and Games] ale5000:
Run this app and check if it say HARDWARE_BACKED or BASIC.
[Android Apps and Games] AnonVendetta:
For both of my devices, it says HARDWARE_BACKED.
[Android Apps and Games] ale5000:
Then they both support hardware attestation.
[Android Apps and Games] AnonVendetta:
Obviously...

I'll test the script as soon as I can figure out why ADB suddenly stopped working.
[Android Apps and Games] AnonVendetta:
@ale5000: I couldn't fix the ADB issues in Windows, but it seems the script runs fine on a much older (2014) device that doesnt support attestation. I ran it in Manjaro Linux, after connecting via ADB. It's just easier to run Linux sh scripts within Linux, instead of futzing around on Windows with manual Busybox installs. And Windows doesnt understand how to execute sh files anyway.

Still have 2 more to run it against (the ones I already mentioned earlier). It will be awhile longer before I can test the profiles with MicroG in GSIs, I'm not quite ready to go back that route yet.
[Android Apps and Games] ale5000:
The busybox linked by me is the most advanced and it doesn't need to be installed, just for example:

busybox sh ./script_name.sh

PS: On my repo this is really simplified (on Windows), you just need to:

1) Download the entire source repo from here: https://github.com/micro5k/microg-unofficial-installer/archive/refs/heads/main.zip

2) Extract it

3) Double click on cmdline.bat

4) Then just type:

profgen > my_profile.xml

The only thing more difficult is setup adb, just placing the file in the same directory may not work, the best thing is install it system-wide or alternatively place it in one folder and just setup PATH manually every time after step 3 and before step 4 with this:

PATH="C:/path_of_the_folder_of_adb;${PATH:?}"
[Android Apps and Games] tom.android:
test with this condition. "

After this you mainly need to spoof info (with device profiles) in one of the way:

- Create a profile from a device that pass SafetyNet and doesn't physically have hardware attestation: you can use it directly;

Result: success. ( A13 GSI on Stock A13 , no root , no magisk)

Thanks

delete s/n , install Busybox64 overwrite Platform-tools
[Android Apps and Games] AnonVendetta:
Yeah, I know how to put adb and other binaries in a custom location and then add that path to the system environment variables. I use lots of 3rd party binaries that aren't built into Windows, it's easier to call them that way because you don't need to specify their absolute path.

The real issue is that adb works for me in Windows (i can call it from it), but it can't detect any device. I've tried with all 3 devices, nothing. Was working fine a few days ago. It seems likely to me that an OS update screwed with something, it auto installed a big feature update.

Manjaro's adb recognizes them just fine, so it's likely a driver issue in Windows.
[Android Apps and Games] ale5000:
Personally I use this to get the right drivers: https://www.glenn.delahoy.com/snappy-driver-installer-origin/

But for those that aren't expert I don't suggest to touch most things and just use it to update the drivers related to their phone.