【发布时间】:2012-12-08 17:18:56
【问题描述】:
我使用代号创建 j2me 应用程序,它在诺基亚手机上运行良好,但我想在三星设备(例如 S8300)上安装或运行它,我会收到错误。
我该如何解决这个错误?
我搜索了这个设备的详细信息,我发现它没有操作系统,但它可以运行带有 MIDP2.0 的 java。我可以为这些设备类型做什么?如何在这些设备上运行它?
提前致谢。
【问题讨论】:
标签: java-me lwuit device codenameone
我使用代号创建 j2me 应用程序,它在诺基亚手机上运行良好,但我想在三星设备(例如 S8300)上安装或运行它,我会收到错误。
我该如何解决这个错误?
我搜索了这个设备的详细信息,我发现它没有操作系统,但它可以运行带有 MIDP2.0 的 java。我可以为这些设备类型做什么?如何在这些设备上运行它?
提前致谢。
【问题讨论】:
标签: java-me lwuit device codenameone
检查您是否没有使用 Java 5 语言功能,并且在 java.util 等类方面将自己限制在 CLDC 1.1 API 规范中。
Codename One 包括对这些功能的支持,这些功能在 Nokia 上运行良好,VM 更兼容,但在使用这些功能时在某些设备上失败。
【讨论】:
有几件事可能是问题:
1) jar 文件太大。 Java 设备通常对 jar 文件的最大大小有限制,其中一些小得令人难以置信。尝试安装一个较小的 jar 文件,例如 hello world。 如果这是问题,请确保使用“混淆”,因为它还会从 jar 文件中删除未使用的代码。
2) 根据运营商的品牌,三星设备通常不允许直接从 PC 安装 jar 文件(使用蓝牙或 USB 电缆):-(
只有可能的称为 OTA-Download。在那里,您需要创建一个 jad 文件和一个 jar 文件,将它们放在网络服务器上,然后在设备的移动浏览器中从 jad 调用 url。
您需要更改内部的MIDlet-Jar-URL 以在您的Web 服务器上拥有该jar 文件的绝对URL。
这一切都很复杂。要检查您的网络服务器是否正确设置并且该 jad 文件没有语法错误,您可以使用我的 jad 检查器: jadcheck.appspot.com
【讨论】:
我们必须通过硬编码而不是使用 lwuit 或代号设计器来创建 UI。 由于某些没有操作系统且仅支持 MIDP 的设备无法运行由 lwuit 或代号为 desiner 创建的此类应用程序。
可能是设备中资源文件路径的原因!
【讨论】: