我有一个名为 Numbers 的 MIDlet 项目,我决定将其重命名为 Digits。我决定从头开始创建一个全新的项目,而不是简单地重命名它,这样我就可以拥有新目录、包名、.jad/.jar 名称等。一切顺利,我将 .java 文件复制到 /src和资源文件到 /res 并成功重新编译。我对这两个项目都使用了 Eclipse Helios 和 Nokia 的 Series 40 5th Edition SDK,Feature Pack 1。
现在,由于某种奇怪的原因,当 MIDlet 在模拟器中启动时,它会抛出 NullPointerException,但不是在启动时立即抛出,而是在启动屏幕之后(这是一个游戏)。我根本没有接触过代码,所以我排除了代码中出现异常的可能性,因为当项目被称为 Numbers 时它工作得很好。经过一个小时的反复试验,我发现了一件奇怪的事情:如果我打开 Application Descriptor 并将MIDlet 名称属性从“Digits”更改为“Numbers”(旧项目名称),一切运行正常,没有抛出异常。
我在所有项目文件中进行了文本搜索,并且“数字”一词仅出现在应用程序描述符和 .jad 文件中,并且仅在我更改了 MIDlet 名称属性之后,否则找不到该字符串(没有类名,没有变量,没有其他属性,代码和项目中都没有字符串“数字”)。该参考来自哪里?Eclipse 或 Series 40 模拟器中的错误?是什么赋予了?