Java me 诺基亚3310:MIDlet始终提供;Can';t编译文件";
在阅读了证明可以为新版本编写自定义应用程序的评论后,我正在尝试运行自己的应用程序 在阅读了大量关于MIDP、CLDC等的内容后,我安装了(在新的Ubuntu安装上,因为Oracle只支持MIDP或Windows),以及 首先,我找不到设备支持哪个版本的MIDP和CLDC的任何信息,所以我继续尝试了一些可能的排列,以下是我的结果:Java me 诺基亚3310:MIDlet始终提供;Can';t编译文件";,java-me,nokia,midlet,midp-2.0,Java Me,Nokia,Midlet,Midp 2.0,在阅读了证明可以为新版本编写自定义应用程序的评论后,我正在尝试运行自己的应用程序 在阅读了大量关于MIDP、CLDC等的内容后,我安装了(在新的Ubuntu安装上,因为Oracle只支持MIDP或Windows),以及 首先,我找不到设备支持哪个版本的MIDP和CLDC的任何信息,所以我继续尝试了一些可能的排列,以下是我的结果: CLDC \ MIDP | 1.0 | 2.0 | 2.1 | 1.0 | * | * | X | 1.1 | * |
CLDC \ MIDP | 1.0 | 2.0 | 2.1 |
1.0 | * | * | X |
1.1 | * | * | ? |
1.8 | X | X | ? |
?
那些我从MIDP2.1开始就没有尝试过的手机不起作用,也没有什么可以获得的,X
手机出现错误“无法安装[MIDlet name],因为它不适用于此手机”
因此,手机似乎支持MIDP 2.0配置文件和CLDC 1.1配置,但当我尝试安装我的应用程序(使用*
的任何配置)时,它总是这样:
- 最初,我尝试了一种非常基本的MIDlet子类型:
public void startApp()
{
表单=新表单(“你好”);
append(新的StringItem(“Hello”,“World!”);
Display.getDisplay(this).setCurrent(form);
}
- 接下来,我尝试使用Eclipse插件提供的这些模板:
- 飞溅MIDlet模板
- Hello World Midlet模板
- 选择运行时配置(始终选择
)时,我将版本配置文件从DefaultColorPhone
调整为MIDP-2.1
MIDP-2.0
- 已尝试其他配置
和MediaControlSkin
QwertyDevice
*.jar
和.jad
文件
在某种程度上,它开始尝试各种设置,我没有太多信心它会工作,阅读和冲洗重复。当寻找替代品时,整个过程变得相当令人沮丧,因为很多链接要么在不可靠的网站上,404,要么在旧的3310手机上
太长,读不下去了
要为新诺基亚3310编译一个简单(未签名)的应用程序,需要哪些配置和构建步骤
以下是imo应该使用的最简单失败示例的全部内容:
$tree
.
├── 应用程序描述符
├── 箱子
│ └── 通用域名格式
│ └── 栈溢出
│ └── kvn
│ └── 测试
│ └── SOExample.class
├── 构建属性
├── 部署
│ └── DefaultColorPhoneM2.0
│ ├── 索特斯贾德
│ └── 罐
├── 物件
└── src
└── 通用域名格式
└── 栈溢出
└── kvn
└── 测试
└── SOExample.java
13个目录,6个文件
$cat应用程序\描述符
MIDlet-1:SOExample,,com.stackoverflow.kvn.test.SOExample
MIDlet Jar URL:SOTest.Jar
MIDlet名称:SOTest MIDlet套房
MIDlet供应商:MIDlet套件供应商
MIDlet版本:1.0.0
微调节配置:CLDC-1.1
微环境概况:MIDP-2.0
$cat build.properties
#MTJ构建属性
DefaultColorPhoneM2.0.includes=src/com/stackoverflow/kvn/test/SOExample.java\
DefaultColorPhoneM2.0.0不包括=\
$cat src/com/stackoverflow/kvn/test/SOExample.java
包com.stackoverflow.kvn.test;
导入javax.microedition.lcdui.*;
导入javax.microedition.midlet.*;
公共类SOExample扩展了MIDlet{
私人形式;
受保护的应用程序(布尔无条件)
抛出MIDletStateChangeException{/*nop*/}
受保护的void pauseApp(){/*nop*/}
受保护的void startApp()引发MIDletStateChangeException{
表格=新表格(“你好”);
append(新的StringItem(“Hello”,“World!”);
Display.getDisplay(this).setCurrent(form);
}
}
设备的软件信息:型号:TA-1006;软件:15.0.0.17.00;操作系统版本:MOCOR_W17.44.3_发行版;固件号:sc7701_barphoneNB:应用程序与仿真器一起工作,所以不是源代码有问题。@u__lou:我包括了整个项目结构和相关内容(省略了字节码的内容)代码。@卢先生:我还没有考虑过这个问题,但不幸的是,它没有起到作用:只是尝试用相同的代码将
受保护的更改为公共的并删除抛出…
,但它给出了相同的错误“无法编译文件”:(感谢您的关注!Oracle搞砸了。SDK 3.4是最后一个处理MIDlet的,而v8.x处理Xlet。虽然您甚至不能使用v8.x编译MIDlet……但这太乱了。您远远不是第一个陷入这种境地的人。听起来很有希望,我期待着尝试一下!我的希望又来了:)