我正在尝试打开一个从 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();
}
如果我直接从它所在的文件夹中直接运行monkeyrunner.bat文件,它就没有问题。但是,如果我尝试使用上面的方法打开它,我会收到以下错误:
线程“主”java.lang.UnsatisfiedLinkError 中的异常:C:\Users\Brad\AppData \Local\Temp\jline_.dll:无法在 IA 32 位平台上加载 AMD 64 位 .dll 在 java.lang.ClassLoader$NativeLibrary.load(Native Method) 在 java.lang.ClassLoader.loadLibrary1(未知来源) 在 java.lang.ClassLoader.loadLibrary0(未知来源) 在 java.lang.ClassLoader.loadLibrary(未知来源) 在 java.lang.Runtime.load0(未知来源) 在 java.lang.System.load(未知来源) 在 jline.WindowsTerminal.loadLibrary(WindowsTerminal.java:315) 在 jline.WindowsTerminal.initializeTerminal(WindowsTerminal.java:240) 在 jline.Terminal.setupTerminal(Terminal.java:75) 在 org.python.util.JLineConsole.(JLineConsole.java:69) 在 org.python.util.JLineConsole.(JLineConsole.java:53) 在 org.python.util.JLineConsole.(JLineConsole.java:49) 在 com.android.monkeyrunner.ScriptRunner.console(ScriptRunner.java:192) 在 com.android.monkeyrunner.MonkeyRunnerStarter.run(MonkeyRunnerStarter. 爪哇:73) 在 com.android.monkeyrunner.MonkeyRunnerStarter.main(MonkeyRunnerStarter .java:189)
任何人都知道为什么从 C# 打开进程会导致问题?
如果我尝试运行 Bat 文件正在打开的 Java 文件,我会遇到同样的问题。
编辑:
我想我知道现在的问题是什么:
如果我从 Windows 打开一个 CMD,它会作为 64 位控制台运行。但是由于我的应用程序是 32 位构建的(使用 express),它会加载一个 32 位控制台。但是我看不到可以从一个打开 64 位控制台的方法32位应用