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.

  • 0x0@programming.dev
    link
    fedilink
    English
    arrow-up
    86
    arrow-down
    1
    ·
    3 months ago

    So the EU’s been forcing Apple to allow sideloading and Google goes Nah, it’ll be fine?

    • flatlined@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      51
      ·
      3 months ago

      No but you see we at Google aren’t locking down sideloading. It’s the individual app developers. With the api we gave them for that express purpose. Totally not us locking stuff down though, so EU please ignore us trying to indirectly close doors in our walled garden?

    • bitfucker@programming.dev
      link
      fedilink
      English
      arrow-up
      19
      arrow-down
      2
      ·
      3 months ago

      Ehh, this is basically just another form of DRM. No different than you having a Steam and GOG model. You can make your apps using DRM and enforce certain constraints

      • dan@upvote.au
        link
        fedilink
        English
        arrow-up
        4
        ·
        3 months ago

        GOG model

        wut? The main selling point of GOG is that games purchased from them are DRM-free.

        • bitfucker@programming.dev
          link
          fedilink
          English
          arrow-up
          1
          ·
          3 months ago

          Yes, that’s my point. Android “doesn’t” have to use Google Play Store, but it is convenient. Other store fronts exist like F-droid and many vendor specific one. Google just provide the DRM mechanism like steam does provide DRM via steamworks

      • Starbuncle@lemmy.ca
        link
        fedilink
        English
        arrow-up
        4
        arrow-down
        1
        ·
        3 months ago

        DRM is to prevent piracy. This does not prevent piracy unless it only applies to apps that cost money.

        • TheChargedCreeper864@lemmy.ml
          link
          fedilink
          English
          arrow-up
          5
          ·
          3 months ago

          There already exists a “Google Play licence check” permission apps can use to verify whether or not the app has been bought on a Google account that’s present on the device.

          If people can crack the app to remove this (which is a thing for some of the popular apps), they’ll also figure out how to patch this out. This is strictly useful for free apps, and only serves to make it unviable to distribute verifiably clean apk’s outside of Google Play (so rip APKMirror)

          • Starbuncle@lemmy.ca
            link
            fedilink
            English
            arrow-up
            6
            ·
            3 months ago

            Yup. This isn’t an anti-piracy thing, it’s a fuck-over-people-who-don’t-like-google thing.

        • bitfucker@programming.dev
          link
          fedilink
          English
          arrow-up
          3
          ·
          3 months ago

          What I mean by that is, this is just an API/SDK for app developers to use. Google does not enforce the use of such things. Much like steam does not force the use of their drm for example (please note the difference between the marketplace and the drm). App developers can always choose how they make and distribute their app.

          • Starbuncle@lemmy.ca
            link
            fedilink
            English
            arrow-up
            2
            ·
            3 months ago

            What legitimate reason would an app developer have for not wanting to let people install their app from sources other than the play store?

            • bitfucker@programming.dev
              link
              fedilink
              English
              arrow-up
              1
              ·
              3 months ago

              Enforcing payment comes to mind without resorting to in-app purchase or any account creation. A lot of desktop software is a good example of those. Sure, you can still have cracks and whatnot, but then again, that’s not the point. Might as well ask what is the point of Denuvo. That is a whole other discussion.

              • Starbuncle@lemmy.ca
                link
                fedilink
                English
                arrow-up
                1
                ·
                3 months ago

                That’s a very legitimate reason! I was talking about free apps, but I failed to mention that in my comment. My bad. Any legit reason for free apps?

                • bitfucker@programming.dev
                  link
                  fedilink
                  English
                  arrow-up
                  3
                  ·
                  3 months ago

                  Nothing comes to mind. DRM literally means digital rights management and unless you wanted to be petty, like blocking a certain person from using your app, then DRM for something free is not something that I can think of a use case for.

                  • Starbuncle@lemmy.ca
                    link
                    fedilink
                    English
                    arrow-up
                    2
                    ·
                    3 months ago

                    Neither can I, that’s why I think that allowing this feature to be used for free apps is purely a malicious move by Google to push people away from sideloading in general.

    • boonhet@lemm.ee
      link
      fedilink
      English
      arrow-up
      12
      ·
      3 months ago

      Google is allowing the app developers to choose (for now?). With Apple, developers never had the option to allow other stores or sideloading.