【问题标题】:Using .apk files in a Java project, or the reverse在 Java 项目中使用 .apk 文件,反之亦然
【发布时间】:2013-10-01 18:59:03
【问题描述】:

有几个关于在 Android 项目中使用 .jar 文件的问题。但我想知道是否可以反过来 - 是否可以在 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 文件?拜托,请你解释清楚,我想要你所有的想法。

【问题讨论】:

标签: android jar apk


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2015-07-28
    • 2012-11-19
    • 1970-01-01
    • 2012-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-24
    相关资源
    最近更新 更多