• artyom@piefed.social
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    6 days ago

    Huh? No APKs are compiled for x86. Why would they be? Have you ever used Waydroid?

    • Linearity@piefed.zip
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      2 days ago

      You’re both wrong 😑
      There are some APKs compiled for x86.
      Waydroid supports 2 different ARM to x86 emulation layers.

        • dev_null@lemmy.ml
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          5 days ago

          They do, but that’s not even the primary reason for x86 Android apps. Android developers on e.g. Windows will test their apps during development, so the app will normally get compiled for x86 to use on an emulator on their PC. The ARM version is only required for the final published release, or testing on a real ARM device. But since x86 is the “default” in the development process, there is little reason not to send both to Google Play, since you are making x86 builds anyway for your own use during development.

          Nowadays this process is mostly transparent for developers, they just write an app and Google Play handles splitting it by architecture, so most apps have an x86 version even if the developer didn’t do anything.

    • kewjo@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      6 days ago

      not building x86 is up to the developer, the default according to the native sdk

      The default behavior of the build system is to include the binaries for each ABI in a single APK, also known as a fat APK. A fat APK is significantly larger than one containing only the binaries for a single ABI; the tradeoff is gaining wider compatibility, but at the expense of a larger APK. It is strongly recommended that you take advantage of either App Bundles or APK Splits to reduce the size of your APKs while still maintaining maximum device compatibility.

      At installation time, the package manager unpacks only the most appropriate machine code for the target device. For details, see Automatic extraction of native code at install time.

      so if you use the apk from your phone it may or may not contain an x86 compatible binary.