Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug(apkmirror): can't find as many updates with APKUpdater as with 2.x #434

Open
AnonymousWP opened this issue Sep 1, 2023 · 8 comments
Labels

Comments

@AnonymousWP
Copy link
Contributor

Creating an issue for this, see below for context:

Are the 2.x updates correct? With what apps and sources is this happening?

To add on top of that: it's quite noticeable how since I use V3, I have way more updates available via the Play Store and way less updates available via APKUpdater V3. I only use APKMirror as source. It seems like the logic differs from V2. The 2.x updates are "correct" yeah, but I can't use it anymore because it's the same package name (and thus gets updated).

Dates are not used anywhere for finding updates. I tried reproducing this and I couldn't. You'll have to provide more info, like exact versions, architecture, os, etc.

Well, the update is gone by now, but I'll let you know when it happens again. Perhaps a screen record will do? Then you have all info too.

Originally posted by @AnonymousWP in #396 (reply in thread)

@AnonymousWP
Copy link
Contributor Author

Here are some screenshots for evidence:

Google Maps
Screenshot_2023-08-30-19-27-21-68_b5a5c5cb02ca09c784c5d88160e2ec24
Screenshot_2023-08-30-19-27-33-14_3bb3bffa89a9f6c4fe870b0aa2a0ce96
Screenshot_2023-08-30-19-27-06-45_40deb401b9ffe8e1df2f1cc5ba480b12

OnePlus Games

Screenshot_2023-09-01-10-50-01-02_b5a5c5cb02ca09c784c5d88160e2ec24
Screenshot_2023-09-01-10-50-04-70_3bb3bffa89a9f6c4fe870b0aa2a0ce96
image

@AnonymousWP AnonymousWP changed the title bug(apkmirror): can't find as many updates with APKUpdater as before bug(apkmirror): can't find as many updates with APKUpdater as with 2.x Sep 1, 2023
@AnonymousWP
Copy link
Contributor Author

AnonymousWP commented Sep 1, 2023

Was curious to see if it also happens to other apps and the answer is yes. Take a look at Google Play Services for example (haven't seen any update of it via APKUpdater since V2), see https://www.apkmirror.com/apk/google-inc/google-play-services/google-play-services-23-34-14-release/. I can install any of those, so it should appear in APKUpdater as well.

I feel like APKUpdater only knows about a few architectures, like v7a en v8a, while I have v9a. V9a is also backwards compatible with v7a and v8a of course, but APKUpdater doesn't seem to take that into account, which is why it thinks the apps aren't compatible with v9a. See here:

Build.SUPPORTED_ABIS.contains("arm64-v8a") -> "arm"

    private val arch = when {
        Build.SUPPORTED_ABIS.contains("x86") -> "x86"
        Build.SUPPORTED_ABIS.contains("x86_64") -> "x86"
        Build.SUPPORTED_ABIS.contains("armeabi-v7a") -> "arm"
        Build.SUPPORTED_ABIS.contains("arm64-v8a") -> "arm"
        else -> "arm"
    }

@rumboalla rumboalla added the bug label Sep 1, 2023
@rumboalla
Copy link
Owner

I checked the Maps case and the problem is APKMirror's API. Instead of returning the normal Maps version it returns the Wear Maps version. On 2.x Wear updates were not filtered and that's why you see more of them. I don't think I can fix this.

@rumboalla
Copy link
Owner

For the Oneplus Game, there's indeed an arch matching failure that should be easy to fix

@rumboalla
Copy link
Owner

Here is a debug version with the fix and different package name
com.apkupdater3-debug.apk.zip

@AnonymousWP
Copy link
Contributor Author

AnonymousWP commented Sep 4, 2023

I checked the Maps case and the problem is APKMirror's API. Instead of returning the normal Maps version it returns the Wear Maps version. On 2.x Wear updates were not filtered and that's why you see more of them. I don't think I can fix this.

Hmm okay, so I guess this is maybe also the case with some other apps. I just contacted APKMirror and told them about this issue (and linked to this issue on GitHub as well).

Here is a debug version with the fix and different package name com.apkupdater3-debug.apk.zip

That indeed fixed it, but over the past 2-3 days I haven't noticed any other difference; for example, the debug still found as many updates as the release APK, which I find surprising.

@archon810
Copy link

archon810 commented Sep 14, 2023

@rumboalla Looking at the current supported parameters for this API call, I'm indeed only seeing the ability to filter out certain release tags (alpha, beta), but not specify the capability (Wear, Auto, ATV, etc.) or anything else.

If we were to work on this, what would you like to see added to this API endpoint? Just the ability to specify (or exclude?) a list of capabilities? What about architectures? Anything else?

@rumboalla
Copy link
Owner

@rumboalla Looking at the current supported parameters for this API call, I'm indeed only seeing the ability to filter out certain release tags (alpha, beta), but not specify the capability (Wear, Auto, ATV, etc.) or anything else.

If we were to work on this, what would you like to see added to this API endpoint? Just the ability to specify (or exclude?) a list of capabilities? What about architectures? Anything else?

Having the choice to specify architectures and capabilities would be nice.
However, in this case, it may be easier to just send the info for all apps that match (wear, auto, normal), and let APKUpdater do the filtering.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants