我正在尝试打开一个运行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文件就可以了。但是,如果我尝试使用上面的方法打开它,我会收到以下错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\Brad\AppData \Local\Temp\jline_.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary1(Unknown Source) at java.lang.ClassLoader.loadLibrary0(Unknown Source) at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.load0(Unknown Source) at java.lang.System.load(Unknown Source) at jline.WindowsTerminal.loadLibrary(WindowsTerminal.java:315) at jline.WindowsTerminal.initializeTerminal(WindowsTerminal.java:240) at jline.Terminal.setupTerminal(Terminal.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. java:73) at com.android.monkeyrunner.MonkeyRunnerStarter.main(MonkeyRunnerStarter .java:189)
任何人都有任何想法为什么从C#打开进程会导致问题?
如果我尝试运行Bat文件打开的Java文件,我会遇到同样的问题。
编辑:
我想我现在知道这个问题:
如果我从Windows打开CMD它作为64位控制台运行..但由于我的应用程序是在32位(使用快速)内置它加载一个32位控制台..但我看不到我可以打开64位的方式来自32位应用程序的控制台
答案 0 :(得分:0)
解决方法是将应用程序编译为x86。这可以防止加载错误的cmd.exe。