티스토리 뷰
Gradle 도구를 사용할 때 꼭 알아야 할 버전관리 이슈을 정리해보았다.
특히 유니티 엔진같은 경우 특수한 경우이기 때문에 더욱더 중요하다.
(내용은 안드로이드 스튜디오에서도 동일하게 적용된다.)
우선 Gradle 버전과 Gradle Plugin 버전이 별도로 관리된다는 것을 알아야 한다.
하지만 해당 Gradle 플러그인 버전마다 요구되는 Gradle 버전이 있다.
즉 서로 맞는 버전이 따로 정해져 있다는 것이다.
물론 유니티에 내장되있는 Gradle 버전도 유니티 버전마다 정해져 있다.
만약 안드로이드 네이티브로 라이브러리를 개발하여
유니티에서 빌드할 경우 이 버전이 맞아야 빌드에 성공할 수 있다.
- 안드로이드 스튜디오 기준
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+ |
- 유니티 에디터 기준
유니티 버전(LTS) | Gradle 플러그인 버전 | 필요한 Gradle 버전 |
---|---|---|
2017.4.39f1 | 3.4 | 5.1.1 |
2018.4.22f1 | 3.4 | 5.1.1 |
2019.4.15f1 | 3.4 | 5.1.1 |
유니티에 내장된 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 버전에 영향을 받기 때문이다.
코틀린 버전도 이와 동일한 버전 호환성이 요구된다. 이건 다음에 포스팅!
'Development Note > Unity' 카테고리의 다른 글
[Gradle] 유니티 2017 버전에서 useAndroidX 사용하기 (0) | 2020.12.07 |
---|---|
[에러메시지] All compiler errors have to be fixed before you can enter play mode (0) | 2020.09.02 |
[UGUI] UIButton 컬리더 커스텀하기 (0) | 2020.07.16 |
[Tactics RPG] 맵툴 만들기 (0) | 2020.07.03 |
- Total
- Today
- Yesterday
- LanguageCode
- 절대값함수
- countryCode
- 퍼미션체크
- tempdir
- abs
- countryName
- Golang
- NSUserDefaults 예제
- abs 함수
- java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line
- dialog
- Error Domain=SKErrorDomain Code=0
- ioutil
- nsurl 에서 nsstring 변환
- permissionCheck
- setCancelable vs setCanceledOnTouchOutside
- iTunes Store에 연결할 수 없음
- nsurl to nsstring convert
- convert nsurl to nsstring
- DeviceModel
- tempfile
- Locale.getDefault().getLanguage()
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |