tanujnotes / Olauncher

Minimal AF Launcher for Android. Reduce your screen time. Daily wallpapers.
https://play.google.com/store/apps/details?id=app.olauncher
GNU General Public License v3.0
2.17k stars 231 forks source link

Google play depencies after update #504

Closed jonkerw85 closed 3 months ago

jonkerw85 commented 3 months ago

Best, I updated Olauncher today using APKUpdater. Somehow, the new version depends on Google Play Services, which I do not have. I run LineageOS AOSP without Google Play Services.

If I build the app from source, I do not encounter any problems.

Screenshot_20240827-141021_Olauncher

tanujnotes commented 3 months ago

Olauncher has no dependency on google services. This is likely just google being google.

ryders commented 2 months ago

Hi @tanujnotes,

First let me thank you for your admirable effort on this project.

Respectfully I disagree that this would just be "Google being Google" (@jonkerw85 any input given you've closed the issue?).

I use GrapheneOS which also triggers the same message.

My understanding of the error is that if the app is somewhat requesting access to/usage of android api which are based on the Google Services (eg, requesting subscription check, ad/consumer id, or else, then yes -- "Google being Google" will raise this error. However if the app doesn't, then "Google will not be Google". In other words, it's a matter of finding what service the app use that "as per Google" (and the android APIs) requires Google Play, and questioning whether this service is required.

Looking at the crash logs on my device, I see Connecting to the licensing service... followed by Licence check failed with error: 'Could not bind with the licensing service.'

@tanujnotes I've seen a comment you left in the Play Store suggesting 'completely free, private, ad-free, open source' -- Am I correct in assuming you're using the same codebase / a fork for the Pro Launcher? That might be where the problem originates from I reckon...

Funnily enough, on GrapheneOS installing the apk from Github (I use Obtainium) works fine, and installing through the Play Store (Aurora Store really) I get the error. I suspect this explains why @jonkerw85 was able to "work around the problem" by compiling + not installing from the Play Store.

@tanujnotes I pay for all apps I use, however I do NOT use any of the Google Services Framework (which provides Google Play Services). Not sure of how much control you have as a developer to the .apk 'packaged for' or 'by' the Play Store, but I would suggest;

1- Not all GrapheneOS users use Obtainium (and Aurora Store is used on several custom roms), so further investigation might be worth your attention? 2- You have my word: I'm buying if there's ever a way to do so without installing from Play Store.

m2c

tanujnotes commented 2 months ago

@ryders Thank you!

I'm not wrong about "Google being Google" but here's the full story.

Google recently introduced something called Integrity API. It helps developers detect whether their app was downloaded from a legit source. If not, developers can take some actions like blocking the app access. https://www.androidauthority.com/play-integrity-sideloading-detection-3480639/

This api is not relevant to Olauncher. But, I accidentally enabled the Integrity API protection for Olauncher in the Play Store console when a popup showed up. That part is my mistake. I should have done my research. (In my defense, play store console keeps showing some popup every other week and I just say yes and move on. It worked pretty well until now.)

I have since turned the Integrity API off for all my apps. But it is still showing the offline error. I didn't change anything in the app code regarding Play Services so nothing to do there. Sending a new update might fix the issue. Not sure though.

jonkerw85 commented 2 months ago

@ryders I’m still running my own compiled version without any issues. This could be because the app ID for my compiled version is app.olauncher.debug instead of app.olaucher. It seems that the app.olauncher ID is somehow recognized (I’m not sure how, as I don’t have Google Play Services or microG installed) by the system as a Google Play Store app for wich the Integrity API is enabled wich in turn is responsible for the pop-up.

tanujnotes commented 2 months ago

Good news - sending an update (v4.3.4) fixed it!

jonkerw85 commented 2 months ago

@tanujnotes Great, thanks! I hope to have some time this weekend to try it out.