본문 바로가기

관리 메뉴

[Unity] Unity 빌드 TargetSdkVersion 강제로 지정하기 본문

프로그래밍/ㄴ이슈

[Unity] Unity 빌드 TargetSdkVersion 강제로 지정하기

최갓 2019. 9. 30. 15:35
반응형

유니티 2017.2이하 버전 혹은 5.x를 사용하는 경우 구글 정책의 변경으로

TargetAPI Level을 28이상으로 설정해줘야 하는 문제에 대응하기 위해 고생을 할 것이다.

 

2019년 8월부터 32비트의 경우 신규 앱 등록을 못하고, 11월부터는 API28이하는 기존 출시 앱이라도 업데이트를 못하게 된다.

그리고 2021년 11월부터는 32비트 앱에 대한 모든 출시/업데이트의 지원을 중단하게 되므로 미리미리 대비하도록 하자

 

 

그래서 이번 글에서는 Unity에서 Latest Build Target이 27미만인 Unity버전을 사용하는 분들을 위해 강제로 BuildTarget버전을 지정하는 방법에 대해 포스팅하겠다.

 

 

1. Unity빌드 설정을 Gradle로 변경

Unity의 BuildSetting에서 BuildSystem을 Gradle로 변경해준다 

이미 프로젝트가 Gradle을 이용하고 있다면 추가로 해주지 않아도 된다

 

2. PlayerSetting의 Publishing Setting의 Custom Gradle Template를 체크하여 활성화해준다

해당 과정을 통해 mainTemplate.gradle파일을 생성할 것이다

 

3. mainTemplate.gradle파일을 텍스트 편집기(ex: visual studio)등으로 열어 강제로 SDK버전을 지정해준다

android {
...
	defaultConfig {
    ...
    targetSdkVersion 28
    ...
    }
...
}

해당 gradle의 defaultConfig에 targetSdkVersio을 추가하여 설정해준다.

이미 **TARGETSDKVERISON**과 같이 존재한다면 원하는 API Level값으로 지정해준다 (ex : 28)

 

이후 Unity를 통해 빌드하게 되면 Unity의 BuildSetting에 관계없이 무조건 빌드시 강제로 지정한 TargetSDK버전으로 빌드하게 된다.

Unity Editor상에서 API레벨이 Latest든, 25로 지정했든 무시되고 해당 mainTemplate.gradle에 있는 API버전이 사용된다는 것이다.

 

 

이를 통해 구버전의 Unity를 사용하고 있더라도 Google Play Store의 요구 API Level 변경 정책에 대응을 할 수 있다.

반응형
Comments