이번 글에서는 업무 중에 Anroid Studio로 개발한 Library를 Unity 프로젝트에 포함하여 Android Build를 수행할 때, 겪었던 것들을 정리해보려 합니다.
단순 찾아본 내용들 정리 용도이기에 오늘 글은 짧을 예정입니다.
Unity 버전에 따른 AGP, Gradle 사용 버전 정리
Unity Editor 버전에 따라 Android Gradle Plugin(*이하 AGP) 지원 버전이 상이하고,
AGP 버전에 따라 지원하는 최소 Gradle 버전이 상이합니다.
물론 jdk 지원 버전도 AGP에 따라 달라짐을 참고해주세요
유니티 버전(LTS) | Gradle 플러그인 버전 | 필요한 Gradle 버전 | 사용가능한 코틀린 버전 |
2020.3 starting from 2020.3.15f1 | 4.0.x | 6.1.1 | . |
2020.1, 2020.2, 2020.3 up to and including 2020.3.14f1 | 3.6.x | 5.6.4 | . |
2019.4 | 3.4.x | 5.1.1 | 1.3.11 |
2018.4 | 3.4.x | 5.1.1 | 1.3.11 |
2017.4 | 3.4.x | 5.1.1 | 1.3.11 |
현재 Unity Editor 2019.4.40f1 버전을 사용하고 있고, AGP 3.1.4 버전을 3.4.3 버전으로 마이그레이션 및 Java로 개발한 라이브러리 코드에 jdk 1.8 버전으로 개발하도록 변경하기 위해 조사한 표입니다.
확인해보니 Unity 2019.4.40f1 버전은 AGP 3.4.3 버전을 기본으로 사용하고,
AGP 3.4.3은 jdk 1.8을 지원하더라고요?
그래서 결론은 저희 프로젝트에 있어서 적용하는데 큰 문제가 없을 것 같다는 것이었습니다. (아직 테스트 마무리는 안해봤지만,,)
왜 jdk 1.7을 사용했느냐?에 대한 의문도 있었는데, 아마 Unity Engine 지원 버전이 올랐기 때문일 것이고요..
JDK Release Note 또한 살펴봤는데, 지금 코드에는 특별히 문제될 만한 점은 없어 보이네요?
기본적으로 Java라는 언어 자체가 하위 호환성을 철저하게 보장하기 때문에, 버전 업으로 인하여 구버전의 코드가 동작하지 않는 경우는 흔치 않은 것 같습니다. (기본적으로 자바 진영은 기능 추가 개발 방식을 선호하더라고요)
참고한 문서
- https://docs.unity3d.com/kr/2022.3/Manual/android-gradle-overview.html
- https://unity.com/kr/releases/editor/whats-new/2019.4.40
- https://developer.android.com/build/releases/past-releases/agp-3-4-0-release-notes?hl=ko
- https://developer.android.com/build/releases/past-releases/agp-3-1-0-release-notes?hl=ko
- https://www.oracle.com/java/technologies/javase/8-compatibility-guide.html#A999476
- https://www.oracle.com/java/technologies/javase/8-compatibility-guide.html#A1000033
'Unity' 카테고리의 다른 글
[Unity] Assert Class는 개발 빌드에서만 동작한다. (0) | 2024.11.11 |
---|---|
Perplexity를 이용한 Unity 게임 엔진의 원리 이해 (1) | 2024.10.15 |
댓글