markusfisch / BinaryEye

Yet another barcode scanner for Android
https://play.google.com/store/apps/details?id=de.markusfisch.android.binaryeye
MIT License
1.25k stars 108 forks source link

Conflict between Google Play Store and F-Droid #449

Open l3u opened 2 months ago

l3u commented 2 months ago

Hi again :-)

To say this right at the start: I have no idea about packaging an Android app. Neither for F-Droid, nor for the Google Play Store. So maybe this is PEBCAK.

I have installed Binary Eye via F-Droid. Since quite some time, I observe the following: The Google Play Store wants to update it. Binary Eye is listed as updateable, but if one tries it, it fails. Updating through F-Droid works, but (as it's always the case with F-Droid) there, the update is listed way later. Anyway, Play Store doesn't want to update if the current version is finally installed through F-Droid.

Binary Eye is the only app I have installed via F-Droid (and I try to install as many as possible through F-Droid) which Play Store wants to update, all others are only listed by F-Droid.

What may cause this?!

Cheers, Tobias

PS: Scanning codes and passing them to Muckturnier.org now works like a charm, at the latest since v3.7.1 ;-) Thanks again for helping me with HTTP protocol basics and of course still for your outstanding work :-)

markusfisch commented 2 months ago

Hi Tobias, the reason why the Play Store can't update the app from F-Droid is that F-Droid is using its own signature to sign the apps it provides. They do this because they build the app from source, which is part of their concept, and as a result they have to sign the app themselves.

The app on Google Play (and on GitHub Releases) is signed with my signature, and Android will only allow updates if the signatures match (to make sure the update is from the same origin). So, in principle, this should be the case with any app that is on Google Play and F-Droid, at least when the same Application ID is used in both stores.

But I think Google Play did not always show these incompatible updates 🤔 Frankly, I don't know if Google did change something here, or if I just remember this incorrectly. Anyway, I will check if there's something I can do about this, apart from the obvious which would be using a separate Application ID for each app store.

So, no, definitely not PEBCAK, or at least not between your chair and keyboard 😉

l3u commented 2 months ago

Okay, I see. Thanks for the explanation!

But why does Binary Eye show up in Google Play at all? I have quite some other apps installed that are both provided in Play Store and F-Droid (DAVx⁵, Aegis, ConnectBot, Material Files etc.) – but for none other than Binary Eye, the Play Store wants to update them … do they all use different app IDs then?

markusfisch commented 2 months ago

I checked DAVx⁵ and it seems they're not using different app IDs, so I would expect to see the same behaviour with this app. One key difference could be that the DAVx⁵ app is not free on Google Play, and so maybe Play isn't trying to update anything when you didn't actually buy it, even if the app is already installed.

I also found this thread on the F-Droid forum which is about this exact problem: https://forum.f-droid.org/t/google-play-store-tries-to-update-my-f-droid-apps/24621/80

So this is happening to other apps too, and the reason seems to be a change in Google Play indeed. The good news is: F-Droid just released a possible fix in F-Droid Client 1.20-alpha1.

l3u commented 2 months ago

Well, then this seems to be an upstream issue. Thanks for the investigation :-)

markusfisch commented 2 months ago

No problem, I was curious as well!