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

        I mean this is a fork of Waydroid, which runs Android apps directly on x86, so I don’t think it should be necessary.

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

          I think waydroid only supports running apks compiled for x86, there is no translation layer. So if the app you wany to run only has arm builds, which is likely, it won’t work with waydroid.

          • 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.

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

        from what i can tell, waydroid has some translation layers libndk or libhoudini. however majority of android apps require some kind of java runtime. native apps you (the ndk build system) generally create a release for arm + x86 and its up to the release pipeline to build for each platform. i don’t use waydroid much outside of playing around with it for a few minutes when i get bored. however I’m curious if a lot of the issues people have with waydroid is because of taking an arm version of the apk from their phone and not grabbing a x86 one?

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

            no but the dev controls it. if the dev is using the ndk and the dev is not doing the extra step of disabling/configuring it there should be in “fat” apk with each binary for each platform according to the docs. then the installer can figure out which version to use.

            the x86(/_64) version is used for Chromebooks i believe. some devs will split the apk if they configured it to reduce size so you would need to specifically go get an x86 apk version.

            the cases where a dev would disable it is if they only want to support specific instructions that might be platform specific or say a library they use doesn’t support target ABIs