有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Android Studio构建到jar

有没有办法将Android应用程序从Android studio构建成可以在Windows/Mac/Ubuntu上运行的jar文件?若否,原因为何


共 (2) 个答案

  1. # 1 楼答案

    Tl;DR不,你不能在Windows/Mac/Linux上运行Android应用程序。只有模拟器和安卓设备才能运行它们

    在目标设备上运行之前,应该检查Gradle在构建过程中执行的步骤
    要在PC(我指的是Windows/Mac/Linux)上运行,您需要一个jar。构建步骤最接近于制作jar的是javac

    javac之后,它执行步骤将java .class文件转换为Android可读格式或dex格式,然后将dex文件打包为.apk

    Android的执行环境理解dex而不是.class(如果它理解,那么Android应用程序可以在所有支持Java的系统上运行)

    假设您在javac之后设法停止,然后设法构建了一个jar。一旦您尝试在Android环境以外的任何环境中运行它,您将得到大量NoClassDefFoundErros,因为所有特定于Android的类都不在普通JVM(非Android JVM)的库中

    你应该检查一下这个关于legal dispute between Oracle and Google。你会发现Android的Java实现与OpenJDK当时提供的非常不同

  2. # 2 楼答案

    尽管两者都是Java语法,但Oracle Java和Android Java几乎没有共同之处。Gradle当然可以打包JAR,但常规JRE不知道Android类。最好改用普通的IntelliJ IDEA,它非常适合桌面Java应用程序——否则你只能在emulatorAnbox上运行Android应用程序,因为它不太可移植