cross-posted from: https://lemm.ee/post/42024710
Android apps are blocking sideloading and forcing Google Play versions instead
You might sideload an Android app, or manually install its APK package, if you’re using a custom version of Android that doesn’t include Google’s Play Store. Alternately, the app might be experimental, under development, or perhaps no longer maintained and offered by its developer. Until now, the existence of sideload-ready APKs on the web was something that seemed to be tolerated, if warned against, by Google.
This quiet standstill is being shaken up by a new feature in Google’s Play Integrity API. As reported by Android Authority, developer tools to push “remediation” dialogs during sideloading debuted at Google’s I/O conference in May, have begun showing up on users’ phones. Sideloaders of apps from the British shop Tesco, fandom app BeyBlade X, and ChatGPT have reported “Get this app from Play” prompts, which cannot be worked around. An Android gaming handheld user encountered a similarly worded prompt from Diablo Immortal on their device three months ago.
Google’s Play Integrity API is how apps have previously blocked access when loaded onto phones that are in some way modified from a stock OS with all Google Play integrations intact. Recently, a popular two-factor authentication app blocked access on rooted phones, including the security-minded GrapheneOS. Apps can call the Play Integrity API and get back an “integrity verdict,” relaying if the phone has a “trustworthy” software environment, has Google Play Protect enabled, and passes other software checks.
Graphene has questioned the veracity of Google’s Integrity API and SafetyNet Attestation systems, recommending instead standard Android hardware attestation. Rahman notes that apps do not have to take an all-or-nothing approach to integrity checking. Rather than block installation entirely, apps could call on the API only during sensitive actions, issuing a warning there. But not having a Play Store connection can also deprive developers of metrics, allow for installation on incompatible devices (and resulting bad reviews), and, of course, open the door to paid app piracy.
I think it’s more a monopoly attempt. I wonder how the EU will react if someone takes this to court.
Forcing one app store fits the bill of monopolistic action.
Hi friend! Good to see this insightful comment comes from you.
Iirc there should be a way to complain to the authorities about this, right?
Hey :) Hope you’re doing well!
That is actually a good question. Probably the consumer protection agency would be a place to report it. There must also be non-profit watchdogs, but I can’t think of any besides NOYB (none of your business) who are all about privacy.
Would it still apply if it’s not Google forcing it, but simply giving developers the choice? This doesn’t seem any different to putting code in your game to make sure it was launched from the epic games store for example.
Google also has a bit of a nack to ban and/or remove stuff when it doesn’t do as they like. Regardless of what’s in their guidelines and such
Google’s gone full evil between this and all the YouTube ruining.
I’ve bought apps on Google Play where I’ve had to download the apk elsewhere because of restrictions like scoped storage making them almost unusable.
Neutron music players one example where they have to keep an apk on their own site to get round Google restrictions. as scoped storage is about 20 times slower not to mention a real hassle. PPSSPP is another example and probably a lot of emulators were folder access is kind of important.
Google didn’t really do anything wrong imo. App developers/publisher’s are the one that is actually using these APIs
Without a shred of doubt.
Fuck the Play Integrity API.Yes
This was definitely done to spite GrayJay no doubt about it since they clearly state in the app to download the version from the website rather than the play version.
This won’t affect GrayJay at all. Play Integrity is only for developers to implement anti-sideloading features. Google is not forcing it upon apps.
If this stops revanced from working it will be my push to install grapheneos. I don’t need the wallet function really.
I don’t know what I’ve been doing wrong but revanced has already not been working for me. I’ve insled it correctly a couple of times and I’ve tried a few times since I couldn’t to uninstall and reinstall with whatever the latest instructions were to no avail :/
That’s so strange! I just updated mine within the last couple of days and it works just fine
Haven’t found anyone else with the same problem. It’s about time I try again though, maybe whatever’s going wrong (or whatever I’m doing wrong) is fixed.
Are you using the revanced manager to patch the apk?
I am
why not do it now instead of waiting until revanced is broken?
Because I do like the wallet function. I just don’t need it. But I greatly prefer an ad free life to the convenience of wallet.
I use android auto daily and I heard it’s broken still on all custom roms like Graphene
It works with Graphene now.
What will happen with f-droid apps?
This is an API, so the app must use this. F-Droid apps will never use this.
So are moded apps doomed?
If they are able to remove ads like in modded spotify, then they are probably able to remove Play Store check too.
Maybe…
We don’t know yet. It would depend on how it was integrated.
But yes you would need to crack the app.
Nah, if you can mod an app in the first place, it wouldn’t take you long to bypass this.
“to continuing using __app__ (unreviewed)” does not fill me with confidence
So are the apps blocked even when you are not using the play services?
What if the apps are installed via adb using
pm install -i "com.android.vending" /sdcard/yourapp.apk
?
For the system then the app has been installed from the play store
Or it checks online to see if the current user has a (free?) license?