Codenameone PARVM项目不工作-在模拟器中终止

Codenameone PARVM项目不工作-在模拟器中终止,codenameone,Codenameone,我设法编译了由parvm在本地生成的项目,但它在启动后几秒钟就被终止了。 我注意到脱机生成的项目与服务器上生成的项目之间存在一些差异: 输入类中没有某些类的源,例如com\u codename1\u impl\u ios\u ios implementation\u 15.m或com\u codename1\u system\u URLCallback.m。日志中没有错误,并且类被解析。为什么输出目录中没有交叉编译的代码 在CN1服务器生成的项目中,我找到了Stub.m和CodenameOne.

我设法编译了由parvm在本地生成的项目,但它在启动后几秒钟就被终止了。 我注意到脱机生成的项目与服务器上生成的项目之间存在一些差异:

  • 输入类中没有某些类的源,例如
    com\u codename1\u impl\u ios\u ios implementation\u 15.m
    com\u codename1\u system\u URLCallback.m
    。日志中没有错误,并且类被解析。为什么输出目录中没有交叉编译的代码
  • 在CN1服务器生成的项目中,我找到了
    Stub.m
    CodenameOne.m
    文件,但在我的项目中没有任何具有此类名称的Java类。iOS项目需要它们吗?它们是如何产生的
  • codenameone\u设置中有一些特定于iOS的参数。properties
    CN1 Java项目文件,字节码转换器不应该将此文件作为参数来生成正确的项目文件吗
  • ByteCodeTranslator需要在main类中使用
    公共静态void main(String[])
    ,但此函数在CN1服务器构建期间生成错误。字节码翻译器为什么需要这个?如果主类作为参数给出,代码不能使用它吗
  • 这是来自iOS端口项目类的。您还需要翻译这些类。请注意,您还需要从该位置添加本机源

  • 服务器为每个平台生成一个平台本机生命周期类。这就是“存根”类。它实际上有一个调用main start方法的
    main
    方法。 在iOS的情况下,
    CodenameOne.m
    文件将本机接口从特定的本机接口映射到Objective-C。这使本机接口绑定保持可移植性,例如,这些文件是为旧的XMLVM端口生成的

  • 不,它不明白。大部分工作都是在更高的可移植性级别上完成的,因为我们需要同时为XMLVM和PARVM完成这些工作

  • 见答复2

  • 这是来自iOS端口项目类的。您还需要翻译这些类。请注意,您还需要从该位置添加本机源

  • 服务器为每个平台生成一个平台本机生命周期类。这就是“存根”类。它实际上有一个调用main start方法的
    main
    方法。 在iOS的情况下,
    CodenameOne.m
    文件将本机接口从特定的本机接口映射到Objective-C。这使本机接口绑定保持可移植性,例如,这些文件是为旧的XMLVM端口生成的

  • 不,它不明白。大部分工作都是在更高的可移植性级别上完成的,因为我们需要同时为XMLVM和PARVM完成这些工作

  • 见答复2


  • 我建议将来把这些问题分成几个单独的问题,因为回答4个小问题比回答一个大问题方便得多。我建议将来把这些问题分成几个单独的问题,因为回答4个小问题比回答一个大问题方便得多。1。这些类被添加到字节码转换器(日志中有解析消息),但在输出目录中没有交叉编译的文件*.m和*.h.2。那么没有这些文件,项目就不能工作了?那么我如何离线使用parvm呢?可能吗?您需要用Java编写和编译这样一个实现main方法的类。不确定为什么看不到输出,是否确定传递了正确的输出目录。是否有*stub.java和*codename.java的示例?XMLVM在内部创建存根/粘合类也许PARVM也应该这样做?或者CN1团队可以共享创建这些代码的工具?它不仅是主要功能,而且看起来相当复杂。只有几个类不是在输出时创建的,但是这个问题我可以自己调试,但是我需要知道如何创建*stub.java和*codename.java,没有它们parvm是完全无用的!本机源代码存根是复杂的,如果直接使用本机代码,实际上并不需要,因为可以直接调用“本机”或重用生成服务器中的.m源文件。我们没有存根或本机绑定逻辑的独立版本,因为它们深深嵌入到构建过程中。1。这些类被添加到字节码转换器(日志中有解析消息),但在输出目录中没有交叉编译的文件*.m和*.h.2。那么没有这些文件,项目就不能工作了?那么我如何离线使用parvm呢?可能吗?您需要用Java编写和编译这样一个实现main方法的类。不确定为什么看不到输出,是否确定传递了正确的输出目录。是否有*stub.java和*codename.java的示例?XMLVM在内部创建存根/粘合类也许PARVM也应该这样做?或者CN1团队可以共享创建这些代码的工具?它不仅是主要功能,而且看起来相当复杂。只有几个类不是在输出时创建的,但是这个问题我可以自己调试,但是我需要知道如何创建*stub.java和*codename.java,没有它们parvm是完全无用的!本机源代码存根是复杂的,如果直接使用本机代码,实际上并不需要,因为可以直接调用“本机”或重用生成服务器中的.m源文件。我们没有存根或本机绑定逻辑的独立版本,因为它们深深嵌入到构建过程中。