关于代码名1和路径Java运行时的问题

关于代码名1和路径Java运行时的问题,java,codenameone,netbeans-8,Java,Codenameone,Netbeans 8,我只需要回答一个事实问题。如果我已经在Netbeans 11中安装了CodeName One的最新免费.nbm文件,并且正在使用Java OpenJDK,那么CodeName One是否使用(外包给VM)我的Java路径/类路径版本从该虚拟机运行东西,或者CodeName One是否从其内部虚拟机运行虚拟化移动电话MIDlet?我建议您阅读这里,Shai Almog对CodeName One的工作原理做出了回应: 我还建议您阅读以下常见问题: 也就是说,在您的IDE代码名上,One使用您在代

我只需要回答一个事实问题。如果我已经在Netbeans 11中安装了CodeName One的最新免费.nbm文件,并且正在使用Java OpenJDK,那么CodeName One是否使用(外包给VM)我的Java路径/类路径版本从该虚拟机运行东西,或者CodeName One是否从其内部虚拟机运行虚拟化移动电话MIDlet?

我建议您阅读这里,Shai Almog对CodeName One的工作原理做出了回应:

我还建议您阅读以下常见问题:

也就是说,在您的IDE代码名上,One使用您在代码名One模拟器中运行应用程序时安装的OracleJDK或OpenJDK版本


关于Netbeans 11+最后一个OpenJDK,我想他们的支持仍然是实验性的(也许Shai可以证实或证实这一点)。然而,我使用的是Netbeans 10+最后一个OracleJDK 8(1.8.0212):它工作得非常好。

因此,为了非常清楚,在阅读了这些链接之后,CodeName One是否最终使用了默认的java平台,或者通过Netbeans选择的项目平台,bon不是指通过任何内部编译在CodeName One内部的Java VM,它本身?是的,这是真的:在Netbeans的项目属性中,您可以单击库并选择想要的JDK:在该项目中,CodeName One使用所选的JDK作为模拟器,Codename One Designer和Codename One插件中包含的任何其他工具。但是,当您希望在真实设备上运行应用程序时,您的Java代码会被转换为平台设备的本机代码(Android的Java、iOS的Objective-C、web的Javascript等)。在这种情况下,正如Shai在第一个链接中所写,它使用Android上的Java、iOS上的ParparVM或Javascript上的TeaVM。此外,为了保持代码与所有受支持平台的兼容性,请记住,您不能使用所选JDK的完整API,而只能使用Codename One的API(或在特殊情况下,本机接口)。请参阅常见问题解答。我认为,当我编译时,我可以构建一个.jar文件,并且我可以联系互联网,我每月免费尝试构建一个.apk文件的次数有限。这两个事实是否仍然正确?是的,但更简单:不需要手动执行这些操作。首先,为您生成一个证书pp(你可以在代号为One的首选项中这样做,对于Android来说是免费的,你不需要在Google上注册帐户,但对于iOS来说则是另一回事),然后点击“发送Android构建”。项目会自动在本地生成到jar,jar会自动发送到Codename One build server,几分钟后,您可以从Codename One仪表板页面或Codename One build app下载apk。企业用户也可以在本地生成apk。当您在本地运行时,本地VM用于调试和sim当您需要构建时,我们使用本机/自定义VM。