逆水行舟用力撑,一篙松劲退千寻。这篇文章主要讲述使用OpenJDK进行Delphi Android开发相关的知识,希望能为你提供帮助。
文章图片
随着甲骨文收购Sun Microsystems,甲骨文已经成为java商标的正式所有者和主要的“ 官方” Java发行商,因此出现很多JDK版本,并不出人意料。
首先,我将解释该免责声明:我(Jim McKeeth)既不是律师也不是Java开发人员。本文是与Java,Java开发和许可相关的许多复杂问题的高级概述。本文的目的是为您提供足够的信息,以帮助您前进并取得成功,但是,如果您发现本文中的任何材料不足或不清楚,请进行其他研究以找到更多信息。建议咨询或咨询律师。
Java由以下元素组成:
- JVM:Java虚拟机是运行所有Java应用程序的虚拟机。Java应用程序通常以Java字节码形式分布在JAR文件中。Java字节码不是在物理计算机上本地运行的,而是在JVM上运行的。JVM是一种即时编译器(JIT),可将Java字节码转换为本地机器代码。
- JVM的两种流行形式是Hotspot(Oracle JDK使用的官方JVM)和OpenJ9。
- 从技术上讲,android没有JVM。而是将Java字节码转换为Dalvik字节码,然后使用DVM(Dalvik虚拟机)运行它,或使用ART(Android运行时)进行编译。两者都使用.dex文件,但是ART会将字节码转换为.elf(可执行和可链接格式)文件。本文主要侧重于在Delphi中构建Android应用程序的Java桌面方面,但是为了清晰起见,我想对其进行添加。
- JRE:Java运行时环境包含运行Java应用程序所需的主要库和JVM。它包含运行应用程序和其他实用程序的Java.exe和Javaw.exe。
- JDK:Java开发工具包,或用于Java开发的SDK。JDK是JRE的超集。用于构建Java(和Android)应用程序的工具包,其中包含运行Java应用程序所需的一切。它还包括诸如KeyTool.exe和JarSigner.exe之类的实用程序。
- Oracle发布的Java平台有三种变体:标准版(Java SE),企业版(Java EE)和微型版(Java ME)。该博客文章以及您将遇到的大多数用例都使用标准版。
开源实现是根据GNU通用公共许可证版本2 [ Wikipedia ] 许可的。Java SE基于OpenJDK,就像Chrome浏览器基于开源Chromium项目一样。包括您自己在内的任何人都可以下载OpenJDK源文件并创建二进制版本。有很多公司提供支持,每个公司都提供自己的许可,支持和包括的组件形式。这是其中的一些(这些是OpenJDK源代码的二进制发行版):
建立 |
长期支持 |
许可许可 |
纯 |
商业支持 |
采用OpenJDK /
JClarity / IBM Java SDK |
是 |
是 |
可选的 |
是 |
阿里巴巴Dragonwell |
是 |
是 |
没有 |
是 |
亚马逊Corretto |
是 |
是 |
没有 |
没有 |
阿祖尔祖鲁(Azul Zulu) |
是 |
是 |
没有 |
是 |
BellSoft Liberica JDK |
是 |
是 |
没有 |
是 |
ojdkbuild |
是 |
是 |
是 |
没有 |
Oracle Java SE |
是 |
没有 |
没有 |
是 |
Oracle OpenJDK |
没有 |
是 |
是 |
没有 |
红帽OpenJDK |
是 |
是 |
是 |
没有 |
Windows的Red Hat |
是 |
是 |
没有 |
是 |
SAP SapMachine |
是 |
是 |
没有 |
没有 |
资料来源:https://en.wikipedia.org/wiki/OpenJDK
|
这就是AdoptOpenJDK(及其他)发挥作用的地方。AdoptOpenJDK利用开源OpenJDK源代码,并提供具有长期支持(更新更新和修复),许可许可证和商业支持的二进制分发。在社区和众多供应商(包括IBM,GoDaddy,Microsoft和Red Hat)的支持下维护了AdoptOpenJDK 。
RAD Studio不直接依赖Java,但是如果您使用Android SDK定位Android,则您正在使用Java。当前的RAD Studio安装程序提供了一个选项,用于安装标准Oracle JDK(如果尚未安装)。Embarcadero将更改默认选项,以在将来(通常在10.4.x中)安装AdoptOpenJDK。
使用哪种JDK和JRE取决于您。在此博客文章中,我将向您展示如何使用HotSpot JRE切换到AdoptOpenJDK(HotSpot是Oracle JDK使用的官方JVM,但是您可以选择其他选项)。
在你开始之前如果您已经安装了Oracle JRE或JDK,则建议您卸载它,除非您具有依赖Java的其他软件。如果仅为Delphi Android开发安装了Java,则可以安全地将其卸载。根据您的更新方式,您可能会发现安装了多个版本。
安装请访问https://adoptopenjdk.net/。如果您使用的是Windows计算机,则默认情况下应选择所需的下载。已经发布了较新的版本,但是为此,我们需要版本8。对于包括Android开发在内的大多数用例,版本8是最受欢迎的版本。其他版本不兼容。
文章图片
如果您使用的是32位版本的Windows,则需要升级到64位平台。升级完成后,继续安装。您无需在64位Windows上安装32位版本。如果要从另一台计算机访问该网站,则可以转到另一平台/发行版页面以找到所需的下载。Windows x64需要完整的JDK(包括JRE)以及JRE。
文章图片
您必须同意GNU一般公共许可进行安装。这仅适用于JDK,不会影响您开发的项目(再次请教律师或亲自阅读并验证许可证)。请注意,设置JAVA_HOME环境变量是安装程序默认未设置的可选项。其他项目可以保留为默认值。
文章图片
您现在要做的就是更新Delphi / RAD Studio IDE设置。在“ 工具” → “ 选项” → “ 放置” → “ SDK管理器继续” 中,选择Android SDK(32位或64位)以移至“ Java” 选项卡,显示屏幕,如以下屏幕快照所示有待确认。
文章图片
如果红线包围的区域中未显示黄色警告图标(三角形),则表明已检测到Oracle Java SE JDK,因此请正确完成卸载。如果未检测到Java SE JDK,并且看到黄色的警告图标,请使用其旁边的浏览按钮来指定AdoptOpenJDK的安装路径。对Android SDK中的所有Java条目执行此操作。
文章图片
您可能会感到所做的任何更改都没有改变,但是它的作用与删除Oracle Java之前的作用相同。Oracle SE JDK和AdoptOpenJDK都基于相同的源代码,并且功能或行为没有差异。
其他安装方式我在安装或更新AdoptOpenJDK时更喜欢的方法是使用Chocolatey Windows软件包管理器。使用Chocolatey的安装步骤如下:
文章图片
- 使用管理员权限打开PowerShell窗口
- 通过运行以下PowerShell cmdlet
Set-ExecutionPolicy Bypass -Scope Process -Force;
安装[Chocolatey
] [System.Net.ServicePointManager] :: SecurityProtocol = [System.Net.ServicePointManager] :: SecurityProtocol -bor 3072; iex (((新对象System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1‘)) - 使用以下命令安装AdoptOpenJDK 8
choco install acceptopenjdk8 - 将来,如果要
更新AdoptOpenJDK8 ,可以从以管理员权限运行的命令提示符下按以下方式执行它:choco update acceptopenjdk8
本文是Jim McKeeth的“ 为Delphi Android开发采用OpenJDK” 的摘要。
原文地址:https://community.idera.com/developer-tools/b/blog/posts/adopting-the-openjdk-for-delphi-android-development-ja
【使用OpenJDK进行Delphi Android开发】
推荐阅读
- uniapp打包发版到linux服务器步骤----H5端
- 遇到难题求高手帮忙解决--Android P开始监听不到关机广播
- 安卓运用手机多媒体
- 安卓快速添加get和set
- 成都APP软件EXE开发(EXCEL VBA的基本知识和入门引导V2)
- 安卓导入别人的项目
- app第三方支付宝支付
- Appium自动化测试
- Android gradle 自定义插件