0

我正在尝试以这种方式在我的 Android SDK 项目中执行外部 .jar 文件:

ProcessBuilder pb = new ProcessBuilder("java.exe", "-jar", "C:/apache-tomcat-7.0.27/BlattA/src/viewer.jar");
        Process process = pb.start();
        InputStream is = process.getInputStream();

        byte[] bytes = IOUtils.toByteArray(is);

当我在任何其他 Java EE 项目中执行它时,它运行良好,但在 Android 应用程序中出现错误: 在此处输入图像描述

是什么原因,我该如何解决?

4

1 回答 1

1

这根本不可能!

Android 是某种特殊的 linux,不支持任何 Windows 功能,例如执行 exe 文件。关于 Android 上的 jar 文件是其他字节码(dalvik VM)的一个漏洞,因此如果不将其转换为所谓的 dex 文件,您也无法运行 jar 文件。您也不能通过简单的文件访问从您的手机从您的电脑访问资源。

即使您将 dex 该 jar 或 grep 它以某种方式通过无线方式或通过将该 jar 添加为库,这也不起作用,因为在 Android 上没有 Swing 或桌面系统中的其他常见 UI 框架。

您可以做的是查看 jar 文件的源代码,例如从主页(如果这是一个开源项目)并了解它是如何工作的。比你可以实现一个新的 Android 应用程序来完成你想要的工作。但这比你现在想象的要安静得多。

于 2013-06-03T13:01:17.743 回答