0

关于在 Android 项目中使用 .jar 文件有一些关于 SO 的问题。但我想知道是否可以反过来 - 是否可以在 Java 桌面项目中使用 .apk 文件?这样做的原因是我创建了一个用于对象数据库管理的 Java 桌面应用程序,但它需要它正在查看的任何应用程序数据库中的模型类。使用对象数据库,您需要模型类来定义数据库模式。附带问题 - 请原谅我的无知,但您可以在桌面环境中运行可运行的 .apk 吗?像这样: http ://www.techday.in/how-to-run-android-apk-apps-on-computer/

无论如何,我的目标是从一个单独的 android 应用程序中启动我的个人对象管理器程序。因此,在这种情况下,.apk 文件必须能够与 .jar 文件通信。如果失败,我可以尝试相反的方法 - 启动 jar 文件,并使用 -vm 参数作为 .apk 文件的位置以放入类路径中。无论哪种方式。哪个更容易?---> Java 程序类路径中的 .apk 文件或 Android 程序路径中的 .jar 文件?请解释一下,我想要你所有的想法。

4

1 回答 1

3

APK 包含 DEX 文件,而不是 Java 类,因此您需要从一种 VM 文件格式 DEX Davlik 转换为另一种。您提供的链接适用于 Bluestack 的 Android VM,它将在运行 Android 操作系统时运行 APK。如果你想查看 VirtualBox 是如何做最接近匹配的事情的。

Android 项目的源代码确实使用标准 JAR 文件作为库,并且类文件是作为构建过程的一部分生成的,但是一旦您开始打包成可以放在 Android 设备/模拟器/环境中的东西,您就处于不同的世界。

但是,由于 DEX 文件格式是开源的,因此您尝试做的事情并非不可能,但使用中间类文件可能会更容易。

于 2013-09-26T00:54:24.100 回答