【问题标题】:Question about CodeName One and Path Java Runtime关于 CodeName One 和 Path Java Runtime 的问题
【发布时间】:2019-06-03 15:47:53
【问题描述】:

我只需要回答一个事实问题。如果我已将 CodeName One 的最新免费 .nbm 文件安装到 Netbeans 11 中,并且正在使用例如 Java OpenJDK,CodeName one 是否使用(VM 的外包)我的路径/类路径版本的 java 来运行它虚拟机,还是 CodeName One 从自己的内部虚拟机运行虚拟化手机 midlets?

【问题讨论】:

  • 在本地运行时,本地虚拟机用于调试和模拟。当您需要构建时,我们使用本机/自定义 VM。

标签: java codenameone netbeans-8


【解决方案1】:

我建议你阅读这里,Shai Almog 对 Codename One 的工作原理做出了回应: https://stackoverflow.com/a/10646336/2670744

我还建议您阅读以下常见问题解答: https://www.codenameone.com/faq.html

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

关于 Netbeans 11 + 最后一个 OpenJDK,我想他们的支持仍然是实验性的(也许 Shai 可以确认或不确认)。但是,我使用 Netbeans 10 + 最后一个 OracleJDK 8 (1.8.0_212):它运行良好。

【讨论】:

  • 所以要非常清楚,并且通过阅读这些链接,CodeName One 使用默认的 Java 平台或项目平台,通过 Netbeans 选择,最终是真的吗? Java VM 是在 CodeName One 内部自行编译的吗?
  • 是的,确实如此:在 Netbeans 的 Project Properties 中,您可以单击 Libraries 并选择所需的 JDK:在该项目中,Codename One 将选定的 JDK 用于 Simulator,Codename One Designer 和Codename One 插件中包含的任何其他工具。但是,当您想在真实设备上运行您的应用程序时,您的 Java 代码会被转编译为平台设备的本机代码(Java 用于 Android,Objective-C 用于 iOS,Javascript 用于 Web 等)。在这种情况下,它在 Android 上使用 Java,在 iOS 上使用 ParparVM 或在 Javascript 上使用 TeaVM,正如 Shai 在第一个链接中所写的那样。
  • 此外,为了保持代码与所有支持平台的兼容性,请记住,您不能使用您选择的 JDK 的完整 API,而只能使用 Codename One 的 API(或者,在特殊情况下,本机接口)。请参阅常见问题解答。
  • 我虽然在编译时可以构建一个 .jar 文件,并且我可以联系互联网,但我每月免费尝试构建一个有限的次数.apk 文件。这两个实际上仍然是真的吗?
  • 是的,但它更简单:您不需要手动执行这些操作。首先为您的应用程序生成一个证书(您可以在 Codename One Preferences 中执行此操作,对于 Android,它是免费的,您不需要 Google 帐户,但对于 iOS,则另当别论),然后单击“Send Android build” .该项目会自动在本地构建到 jar,jar 会自动发送到 Codename One 构建服务器,几分钟后,您可以从 Codename One 仪表板页面或 Codename One Build 应用程序下载 apk。企业用户也可以在本地制作apk。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-28
  • 1970-01-01
  • 1970-01-01
  • 2018-08-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多