유니티 안드로이드 Gradle Version 관리#
Gradle 도구를 사용할 때 꼭 알아야 할 버전관리 이슈을 정리해보았다. 특히 유니티 엔진같은 경우 특수한 경우이기 때문에 더욱더 중요하다. (내용은 안드로이드 스튜디오에서도 동일하게 적용된다.)
우선 Gradle 버전과 Gradle Plugin 버전이 별도로 관리된다는 것을 알아야 한다. 하지만 해당 Gradle 플러그인 버전마다 요구되는 Gradle 버전이 있다. 즉 서로 맞는 버전이 따로 정해져 있다는 것이다.
물론 유니티에 내장되있는 Gradle 버전도 유니티 버전마다 정해져 있다.
만약 안드로이드 네이티브로 라이브러리를 개발하여 유니티에서 빌드할 경우 이 버전이 맞아야 빌드에 성공할 수 있다.
Gradle Version 호환성#
- 안드로이드 스튜디오 기준
Gradle 플러그인 버전 | 필요한 Gradle 버전 |
---|---|
1.0.0~1.1.3 | 2.2.1~2.3 |
1.2.0~1.3.1 | 2.2.1~2.9 |
1.5.0 | 2.2.1~2.13 |
2.0.0~2.1.2 | 2.10~2.13 |
2.1.3~2.2.3 | 2.14.1+ |
2.3.0+ | 3.3+ |
3.0.0+ | 4.1+ |
3.1.0+ | 4.4+ |
3.2.0~3.2.1 | 4.6+ |
3.3.0~3.3.3 | 4.10.1+ |
3.4.0~3.4.3 | 5.1.1+ |
3.5.0~3.5.4 | 5.4.1+ |
3.6.0~3.6.4 | 5.6.4+ |
4.0.0+ | 6.1.1+ |
4.1.0+ | 6.5+ |
4.2.0+ | 6.7.1+ |
7.0 | 7.0+ |
7.1 | 7.2+ |
7.2 | 7.3+ |
- 유니티 에디터 기준
유니티 버전(LTS) | Gradle 플러그인 버전 | 필요한 Gradle 버전 | 사용가능한 코틀린 버전 |
---|---|---|---|
2020.3 starting from 2020.3.15f1 2021.1 starting from 2021.1.16f1 |
4.0.x | 6.1.1 | 1.3.61 |
2020.1, 2020.2, 2020.3 up to and including 2020.3.14f1 2021.1 up to and including 2021.1.15f1 |
3.6.x | 5.6.4 | 1.3.11 |
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 |
유니티에 내장된 Gradle 버전은 '/Applications/Unity/Hub/Editor/{unity_version}/PlaybackEngines/AndroidPlayer/Tools/gradle/lib' 에서 확인 할 수 있으며 현재 확인한 바로는 전부 5.1.1 로 되어있다. 이전 버전같은경우에는 아마 더 하위버전이었다.
LTS 버전이 펌웨어됨에 따라 아마도 버전이 올라간 것으로 보인다.
여기서 말하는 Gradle 플러그인 버전이란 mainTemplate.gradle 또는 baseProjectTemplate.gradle 에 있는
dependencies {
classpath 'com.android.tools.build:gradle:3.4.0'
}
이것이다. 아마 유니티에서 자동생성 했을 시에는 셋팅이 되어있을 것이다.
만약 유니티용 SDK 를 네이티브로 개발한다면 사용하는 API 들은 유니티 Gradle 버전에 맞춰서 개발해야 한다. 안드로이드에서 사용하는 플러그인들도 Gradle 버전에 영향을 받기 때문이다.
코틀린 경우엔 2019 최신 LTS 버전에서는 1.3.11 까지 확인해보았지만 그 이상버전은 테스트 해보질 않아서 확실하게 모르겠다. 추후 확인해보기로!