打开带有 C# 问题的 Java 控制台

本文关键字:Java 控制台 问题 | 更新日期: 2023-09-27 17:56:03

>我正在尝试打开一个从 C# 运行控制台的 Java 应用程序

我的代码:

    private void button3_Click(object sender, EventArgs e)
    {
          Process process = new Process();
          process.StartInfo.WorkingDirectory = @"C:'Program Files (x86)'Android'android-sdk'tools'";
          process.StartInfo.FileName = "monkeyrunner.bat";
          process.Start();
    }

如果我直接从它所在的文件夹中运行猴子.bat文件可以正常工作。但是,如果我尝试使用上述方法打开它,则会出现以下错误:

线程"main"中的异常 java.lang.UnsatisfiedLinkError: C:''Users''Brad''AppData''本地''临时''jline_.dll:无法在 IA 32 位平台上加载 AMD 64 位.dll        at java.lang.ClassLoader$NativeLibrary.load(Native Method)        at java.lang.ClassLoader.loadLibrary1(未知来源)        at java.lang.ClassLoader.loadLibrary0(未知来源)        at java.lang.ClassLoader.loadLibrary(未知来源)        at java.lang.Runtime.load0(未知来源)        at java.lang.System.load(未知来源)        在杰林。WindowsTerminal.loadLibrary(WindowsTerminal.java:315)        在杰林。WindowsTerminal.initializeTerminal(WindowsTerminal.java:240)        在杰林。终端设置终端(终端.java:75)        at org.python.util.JLineConsole.(JLineConsole.java:69)        at org.python.util.JLineConsole.(JLineConsole.java:53)        at org.python.util.JLineConsole.(JLineConsole.java:49)        at com.android.monkeyrunner.ScriptRunner.console(ScriptRunner.java:192)        at com.android.monkeyrunner.MonkeyRunnerStarter.run(MonkeyRunnerStarter.爪哇:73)        at com.android.monkeyrunner.MonkeyRunnerStarter.main(MonkeyRunnerStarter.java:189)

任何人都知道为什么从 C# 打开进程会导致问题?

如果我尝试运行 Bat 文件正在打开的 Java 文件,我会遇到同样的问题。

编辑:

我想我知道现在的问题是什么:

如果我从Windows打开CMD,它将作为64位控制台运行。但是由于我的应用程序是用 32 位(使用 express)构建的,因此它加载了一个 32 位控制台。但是我看不到从 64 位应用程序打开 32 位控制台的方法

打开带有 C# 问题的 Java 控制台

解决方法是将应用程序编译为 x86。这可以防止加载错误的 cmd.exe。