首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Java1.6的J2ME

使用Java1.6的J2ME
EN

Stack Overflow用户
提问于 2011-04-21 19:57:36
回答 3查看 1.2K关注 0票数 2

我使用的是CLDC 1.1 +MIDP2.0。“编译器合规性级别”被设置为1.4。

当我将"Compiler compliance level“设置为1.6时,我得到以下错误:"ALERT: java/lang/ClassFormatError: Bad version information.”。

如何在J2ME中使用Java1.6?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-21 20:00:44

如何在J2ME中使用java1.6?

You ‘t

核心原因:J2ME适用于内存和cpu是最大限制的移动设备。

票数 5
EN

Stack Overflow用户

发布于 2022-02-15 18:41:20

Java ME是Java的一个子集,并且大多数ME特定的代码将主要驻留在客户端,因此您不需要任何特殊版本的Java来编译程序。

这里的问题是,您使用的Java编译器版本在手机发明时还不存在。Java编译器的版本被写入.class编译输出。

理想情况下,您应该使用旧版本的Java编译项目,但安装旧版本非常困难。因此,我们可以自己充当编译器,并手动将.class输出文件中的版本设置为我们想要的版本,并且我们应该确保不使用该版本之后的特性。在这种情况下,我们将以1.2版为目标。

您可以使用编译器的-source和-target选项来禁止尽可能多的特性,但是许多javac编译器对它们可以针对的旧版本有限制,我的Java9 (1.9)可以低至1.6。您需要手动确保未使用1.2和1.6之间引入的功能

.class文件中的前4个字节是臭名昭著的"CAFEBABE“魔术字符串。字节5和6通常是0字节7和8是java次要和主要版本。

将Byte 8更改为0x2E。根据https://en.wikipedia.org/wiki/Java_class_file的说法,这对应于版本1.2或Java2。

我们使用Java2是因为,正如你在它的缩写J2ME中看到的,微型版是在Java2中发布的。因此,出于向后兼容的原因,你可以相当有信心地认为这款手机将运行这样的应用程序。如果您需要在此Java版本之后引入的功能,只需继续增加版本号,直到再次失败,以找出您的手机支持的确切Java版本。

票数 1
EN

Stack Overflow用户

发布于 2011-04-21 20:05:41

您不能使用它,因为它是为se和ee版本不兼容手机

最新的j2me 3.0软件开发工具包可用

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5743760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档