我使用代号创建 j2me 应用程序,它在诺基亚手机中运行良好,但是我想在三星设备(例如 S8300)上安装或运行它,我会出错。
我该如何解决这个错误?
我搜索了该设备的详细信息,发现它没有操作系统,但可以使用 MIDP2.0 运行 java。我可以为这些设备类型做什么?如何在这些设备上运行它?
提前致谢。
我使用代号创建 j2me 应用程序,它在诺基亚手机中运行良好,但是我想在三星设备(例如 S8300)上安装或运行它,我会出错。
我该如何解决这个错误?
我搜索了该设备的详细信息,发现它没有操作系统,但可以使用 MIDP2.0 运行 java。我可以为这些设备类型做什么?如何在这些设备上运行它?
提前致谢。
有几件事可能是问题所在:
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
检查您是否没有使用 Java 5 语言功能,并且在 java.util 等类方面将自己限制在 CLDC 1.1 API 规范中。
代号一包括对这些功能的支持,这些功能在诺基亚上运行良好,其中 VM 更兼容,但在使用这些功能时在某些设备上失败。
我们必须通过硬编码而不是使用 lwit 或代号设计器来创建 UI。由于某些没有操作系统且仅支持 MIDP 的设备无法运行由 lwuit 或代号为 desiner 创建的这些类型的应用程序。
可能是设备中资源文件路径的原因!