J2ME 模拟器似乎没有在 Eclipse 中打开
Posted
技术标签:
【中文标题】J2ME 模拟器似乎没有在 Eclipse 中打开【英文标题】:J2ME emulator does not appear to open in Eclipse 【发布时间】:2011-12-29 21:38:40 【问题描述】:我目前已安装 Java ME SDK 3.0.5,并且正在从 Eclipse 运行 MIDLET。
当我在模拟器设备下运行应用程序时,我会在控制台中获得以下数据:
Syntax:
emulator [arguments]
In order to get commands supported by given device run:
emulator.exe -Xdevice:<device name> -Xquery
Generic list of arguments is:
-version Display version information about the emulator
-help Display list of valid arguments
-classpath, -cp The class path for the VM
-D<name>=<value> Set a system property
-Xdebug Use a remote debugger
-Xrunjdwp:[transport=<transport>,address=<address>,server=<y/n>,
suspend=<y/n>]
Debugging options
-Xdevice:<device> Select a device skin for the emulator
-Xdomain:<domain_name>
Set the MIDlet suite's security domain
-Xmain:<main class name>
Run the main method of a Java class, as in Java SE
-Xquery Print device information
一切似乎都很好,但我无法让任何形式的仿真出现。
这是我的 MIDLET 的代码,虽然我不认为问题出在这里。
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.lcdui.*;
public class Hello extends MIDlet implements CommandListener
private Command exitCommand;
private Display display;
private Form screen;
public Hello()
display = Display.getDisplay(this);
exitCommand = new Command ("Exit", Command.EXIT, 2);
screen = new Form ("Hello World");
StringItem strItem = new StringItem ("","Hello World");
screen.append (strItem);
screen.addCommand (exitCommand);
screen.setCommandListener(this);
public void startApp() throws MIDletStateChangeException
// set the current display to the screen
display.setCurrent(screen);
public void pauseApp()
// TODO Auto-generated method stub
public void destroyApp(boolean unconditional)
// TODO Auto-generated method stub
public void commandAction (Command c, Displayable s)
if (c == exitCommand)
destroyApp (false);
notifyDestroyed();
【问题讨论】:
【参考方案1】:输出很简单,它告诉你模拟器的命令行语法不正确。
转到 Java ME 设备设置并编辑模拟器命令行/启动选项以适应。
切换 IDE 作为短期解决方案可能对您有用,但找到问题的根源总是更好。此外,它将帮助您了解模拟器框架。
【讨论】:
【参考方案2】:我切换到 Netbeans,它集成了对 J2ME 的支持(而不是必须为 Eclipse 安装第 3 方插件),现在它可以完美运行了。
【讨论】:
【参考方案3】:我在 Eclipse 上运行基本的 JavaMe 应用程序时遇到了类似的问题,“损坏的 JAR,读取时出错”。在我跟随这个系列的初学者http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.mtj.doc.user/html/gettingstarted/prepare_workbench.html 之后,它对我有用(尽量不要错过这里提到的任何内容)。 请注意,当您启动应用程序时,请使用“应用程序描述符”(-从左侧菜单)中的“作为模拟 Java ME JAD 启动”(-在页面右上角的“运行”部分)。
这是一个迟到的回复,但将来可能会对某人有所帮助。
【讨论】:
【参考方案4】:如果您喜欢冒险并且想在没有 IDE 的情况下开发/运行 JavaME 应用程序,我有一线希望,请编写一个批处理脚本(或 linux 系统的 shell 脚本)以手动运行具有特定 jad 的模拟器
批处理脚本 (run.bat)
"<javame-3.0-sdk-root-folder>\bin\emulator.exe"
-Xdescriptor:"<jad-filename-with-extension>" >> logs.txt
pause
exit
将上述脚本保存在与应用程序 jad/jar 相同的文件夹中。控制台打印将在log.txt
文件中提供。
【讨论】:
【参考方案5】:这里是如何从模拟器运行 jar (Java ME SDK 3.0.5)
(如何在 Java ME SDK 3.0.5 中运行 MIDLET ::http://madhukaudantha.blogspot.com/2012/10/how-to-run-midlet-in-java-me-sdk-305.html
【讨论】:
以上是关于J2ME 模拟器似乎没有在 Eclipse 中打开的主要内容,如果未能解决你的问题,请参考以下文章