• Sheltac@lemmy.world
    link
    fedilink
    arrow-up
    39
    arrow-down
    7
    ·
    1 year ago

    Interesting, I always thought it had to do with Android’s ungodly software stack which at some point involves, of all things, fucking java.

    • Aux@lemmy.world
      link
      fedilink
      arrow-up
      4
      arrow-down
      11
      ·
      1 year ago

      Java is only used for software development, there’s nothing Java during run time.

          • huginn@feddit.it
            link
            fedilink
            arrow-up
            5
            arrow-down
            2
            ·
            1 year ago

            ART is the equivalent of a JVM. It doesn’t implement all the apis, the compiled bytecode differs, it’s optimized for mobile but that doesn’t make it not a JVM.

            That’s why the NDK exists: so you can build and run C++ code natively.

            • Aux@lemmy.world
              link
              fedilink
              arrow-up
              1
              arrow-down
              5
              ·
              1 year ago

              Python VM is Java by your logic. If you don’t understand IT, you shouldn’t really talk on IT topics.

              • huginn@feddit.it
                link
                fedilink
                arrow-up
                2
                arrow-down
                1
                ·
                1 year ago

                I can use the exact same apache jars on my Android project and my Java server.

                That’s not Python. That’s very clearly java code.

                The implementation of the contract is different but that’s not the same as not being Java.

                  • huginn@feddit.it
                    link
                    fedilink
                    arrow-up
                    1
                    arrow-down
                    1
                    ·
                    1 year ago

                    You absolutely can pull the same jars into server and android projects.

                    Sometimes you need a different one for Android to avoid NoClassDefFoundErrors but you’re totally able to grab a jar and stick it directly into both sides.

        • Aux@lemmy.world
          link
          fedilink
          arrow-up
          1
          arrow-down
          5
          ·
          1 year ago

          It IS true! See the above indeed. In short - there’s no Java anything during runtime and never was.

            • Aux@lemmy.world
              link
              fedilink
              arrow-up
              1
              arrow-down
              4
              ·
              1 year ago

              I don’t define anything, there are Java standards which define source code, binary code and runtime behaviour compatibility. That makes it possible to run Java apps on non-Oracle JVMs, use non-Oracle tools, etc. Android doesn’t have anything Java outside of source code. And even Java source code is not 100% compatible. It’s just not Java at all and never was. You can’t even use many open source Java libraries on Android because they are not Android compatible at the source level.