공통 델파이 안드로이드 개발을 위해 OpenJDK 채택
2020.05.25 16:39
이 글은 Jim Mckeeth가 작성한 엠바카데로 블로그 글을 번역(및 일부의역)한 것입니다.
여러분들이 모르실 수도 있지만, 자바에는 다양한 제품과 버전들이 있습니다. 오라클이 Sun Microsystems를 인수한 후, 그들은 자바 상표의 공식 소유주가 되었고 주요 "공식" 자바 배포처가 되었습니다.
우선 저는 변호사도 아니고 자바 개발자도 아닙니다. 자바 개발 및 라이센싱과 관련된 여러 가지 복잡한 문제에 대한 개괄적인 개요입니다. 저의 목표는 앞으로 나아가고 성공하기에 충분한 정보를 제공하는 것이지만 추가 정보가 필요한 경우 추가 조사를 수행하고 변호사와 상담하는 것이 좋습니다. 중요한 점에 대한 세부 사항을 놓칠 수 있기때문입니다.
자바는 다음과 같은 부분으로 구성됩니다.
- JVM : 자바 가상 머신은 모든 자바 애플릿을 실행하는 가상 머신입니다. 자바 애플릿은 일반적으로 JAR 파일에 자바 바이트 코드로 배포됩니다. 자바 바이트 코드는 실제 컴퓨터에서 기본적으로 실행되지 않습니다. 대신 JVM에서 실행됩니다. JVM은 자바 바이트 코드를 기본 기계 코드로 변환하는 JIT (Just-In-Time) 컴파일러입니다.
- 인기있는 JVM의 두 가지는 핫스팟 (오라클 JDK에서 사용하는 공식 JVM)과 OpenJ9입니다.
- 기술적으로 안드로이드에는 JVM이 없습니다. 대신 자바 바이트 코드가 Dalvik 바이트 코드로 변환되어 DVM (Dalvik Virtual Machine)에서 실행되거나 ART(Android Runtime)에 의해 컴파일됩니다. 둘 다 .dex 파일을 사용 하지만 ART는 바이트 코드를 .elf (실행 및 링크 가능한 형식)파일로 변환합니다. 이 글은 주로 델파이로 안드 로이드 앱을 빌드하기위한 자바 데스크탑 측면에 초점을 맞추고 있지만 명확성을 위해 이 부분을 추가하고 싶 었습니다.
- JRE : JRE (Java Runtime Environment)에는 JVM과 함께 자바 애플릿을 실행하는 데 필요한 기본 라이브러리가 포함되어 있습니다. 애플릿 및 기타 유틸리티를 실행하는 Java.exe 및 Javaw.exe가 포함됩니다.
- JDK : 자바 개발 Kit 또는 자바 개발 용 SDK. JDK는 JRE의 상위 집합입니다. 이것은 자바(및 안드로이드) 애플리케이션을 빌드하는데 사용하는 반면 자바 애플릿을 실행하는 데 필요한 모든 것을 제공합니다. 여기에는 KeyTool.exe 및 JarSigner.exe와 같은 여러 유틸리티가 포함되어 있습니다.
- 오라클에서 릴리스 한 자바 플랫폼에는 자바 SE (표준 에디션), 엔터프라이즈 에디션 (Java EE) 및 마이크로 에디션(Java ME)의 세 가지 변형이 있습니다. 이 게시물과 대부분의 유스 케이스에는 표준 에디션이 포함됩니다.
흥미로운 점은 자바 표준 에디션(SE) 플랫폼의 무료 오픈 소스 구현인 OpenJDK를 사용하는 것입니다. 버전 7부터 자바 SE의 공식 참조 구현입니다. 소스 구현은 링크 예외를 제외하고 GNU General Public License 버전 2에 따라 라이센스가 부여되었습니다. [위키피디아] 크롬이 오픈 소스 Chromium 프로젝트를 기반으로하는 방식과 유사하게 자바 SE는 OpenJDK를 기반으로합니다.
모든 사용자는 OpenJDK 소스 파일을 다운로드하여 바이너리 빌드를 만들 수 있습니다. 이를 수행하는 여러 조직이 있으며 각 조직에는 자체 라이센스, 지원 등이 포함된 컴포넌트가 있습니다. 다음은 몇 가지 OpenJDK 소스의 이진 배포입니다.
빌드 | Long Term Support |
Permissive License |
Pure |
Commercial Support |
AdoptOpenJDK / JClarity / IBM Java SDK |
Yes | Yes | 선택 | Yes |
Alibaba Dragonwell | Yes | Yes | No | Yes |
Amazon Corretto | Yes | Yes | No | No |
Azul Zulu | Yes | Yes | No | Yes |
BellSoft Liberica JDK | Yes | Yes | No | Yes |
ojdkbuild | Yes | Yes | Yes | No |
Oracle Java SE | Yes | No | No | Yes |
Oracle OpenJDK | No | Yes | Yes | No |
Red Hat OpenJDK | Yes | Yes | Yes | No |
Red Hat for Windows | Yes | Yes | No | Yes |
SAP SapMachine | Yes | Yes | No | No |
소스: https://en.wikipedia.org/wiki/OpenJDK |
오라클은 직접 OpenJDK 빌드를 제공하지만 오라클에서 직접 빌드하는 것은 장기적인 지원이나 상업적 지원을 포함하지 않습니다. 이를 위해 오라클은 허용 라이센스가 없는 오라클 SE로 전환하기를 원합니다 (오라클은 최근 표준 에디션 JDK의 라이센스를 상업적 사용에 대한 연간 요금을 청구하도록 변경했습니다). 따라서 OpenJDK 소스에는 허용
라이센스가 있지만 오라클의 바이너리 배포판에는 동일한 라이센스가 없습니다.
바로 여기에서 AdaptOpenJDK(및 기타)가 도입됩니다.오픈 소스 OpenJDK 소스 파일을 가져와서 장기 지원(이전 버전에 대한 업데이트 및 수정), 허용 라이센스 및 상업적 지원을 포함한 바이너리 배포를 제공합니다. AdoptOpenJDK는
커뮤니티와 IBM, GoDaddy, Microsoft 및 Red Hat을 포함한 여러 대기업에서 유지 보수 및 지원합니다.
RAD Studio는 자바에 직접 의존하지 않지만 안드로이드 SDK를 사용하여 안드로이드를 타겟으로하는 경우 자바를 사용하고 있습니다. 현재 RAD Studio 설치 프로그램은 표준 오라클 JDK를 아직 설치하지 않은 경우 설치할 수 있는 옵션을 제공합니다. 향후 (10.4.x 기간) 엠바카데로는 AdoptOpenJDK를 설치하기 위해 기본 옵션을 변경할
계획입니다.
여러분이 전적으로 어떤 JDK 및 JRE을 사용할 것인지 결정합니다. 이 글에서는 HotSpot JRE를 사용하여 AdoptOpenJDK로 전환하는 과정을 안내합니다 (HotSpot은 오라클 JDK에서 사용하는 공식 JVM이지만 다른 것을 선택할 수 있습니다).
시작하기 전에
오라클의 JRE 또는 JDK가 이미 설치되어있는 경우 제거하실 수도 있습니다. 컴퓨터에 특별히 의존하는 다른 소프트웨어가 없고 델파이와 함께 안드로이드 개발용으로 만 설치했다면 제거하셔도 됩니다. 업데이트 방식으로 인해 여러 버전이 설치되어 있음을 발견 할 수 있습니다.
설치
https://adoptopenjdk.net/을 방문하고 윈도우 컴퓨터 인 경우 기본적으로 원하는 다운로드로 설정해야합니다. 예, 새 버전이 있지만 버전 8이 필요합니다. 버전 8은 안드로이드 개발을 포함하여 대부분의 사용 사례에서 가장 많이 사용되는 버전이며 서로 다른 버전은 호환되지 않습니다.
32 비트 버전의 윈도우를 사용하는 경우 실제로 64 비트 플랫폼으로 업그레이드해야합니다. 64비트로 업그레이드후 다시 돌아오십시오. 64 비트 윈도우에는 32 비트 버전을 설치할 필요가 없습니다. 다른 컴퓨터에서 웹 사이트를 방문하는 경우 다른 플랫폼/릴리스 페이지로 이동하여 필요한 다운로드를 찾을 수 있습니다. 윈도우 64 용 JRE뿐만 아니라 전체 JDK (JRE 포함)가 필요합니다.
설치하는 동안 GNU 일반 공식 라이센스에 동의합니다. 이것은 JDK 전용이며 개발 한 프로젝트에 영향을
미치지 않습니다 (확실히 하기 위해 변호사와 상담하거나 라이센스를 직접 읽어 보십시오). 설치 프로그램에서
JAVA_HOME 환경 변수를 설정하는것은 선택 사항으로 특별히 설정하지 않으면 기본값으로 지정됩니다.
이제는 델파이/RAD Studio IDE에서 설정을 업데이트합니다. 도구 → 옵션 → 배포 → SDK 관리자로 이동 한 다음 안드로이드 SDK (32 또는 64 비트) 중 하나를 선택하고 아래 그림과 같이 Java 탭으로 이동하십시오.
오라클 자바 SE JDK를 설치한 상태로 두면 이전 JDK가 여전히 있기 때문에 노란색 삼각형이 표시되지 않습니다. 그런 다음 줄임표(...) 찾아보기 단추를 사용하여 AdoptOpenJDK를 설치한 경로로 변경하십시오.모든 안드로이드 SDK 항목을 변경하십시오.
설정 후에는 이전과의 변경 사항을 알 수 없습니다. 그냥 그대로 작동합니다. 오라클 SE JDK 및 AdoptOpenJDK는 기능이 동일한 소스 코드를 기반으로합니다.
대체 설치
AdoptOpenJDK를 설치하고 업데이트하는 가장 좋은 방법은 Chocolatey 윈도우 패키지 관리자를 사용하는 것입니다.
1. 관리자 권한으로 PowerShell 창을 엽니다.
2. Chocolatey를 설치하려면 다음을 실행하십시오.
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [Syste m.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString ('https://chocolatey.org/install.ps1'))
3. 그런 다음 AdoptOpenJDK 8을 설치하십시오.
choco install adoptopenjdk8
4. 나중에 업데이트하려는 경우 관리자 권한 명령 프롬프트에서 다음을 실행하십시오.
choco update adoptopenjdk8
저는 Chocolaty 패키지 관리자의 팬입니다 (Pro 서브스크립션을 가지고 있습니다). 사용해 보시면 매우 유용하다고 느끼실것입니다.
10.4 무료 평가판으로 지금 경험해보세요! | [전체보기] 10.4 새기능들! |