[Unity] 유니티 엔진 안드로이드 SDK API 수동 업데이트 다운로드 android sdk does not include your target sdk of ... 오류 해결

    728x90

    유니티를 이용해 안드로이드 플랫폼으로 빌드하는데 android sdk does not include your target sdk of 숫자 와 같은 오류를 뿜어내고 빌드가 진행이 되지 않는 현상이 나타난다.

     

    Player 세팅

    Player 세팅부분에서 Minimum API Level을 설정할 수 있는 메뉴가 있는데 설치되지 않은 안드로이드 API level이 있으면 유니티가 빌드시 자동으로 설치해준다. 

     

    유니티 SDK 업데이트화면

    위 사진처럼 기존에 없던 API를 선택하면 저렇게 자동으로 SDK를 업데이트해주도록 하는 창이 나타난다. 하지만 가끔 버그인지 저런화면이 나타나지 않고 android sdk does not include your target sdk of 31 이라는 문구를 표시하고 자동으로 업데이트를 하지 않는 경우가 생긴다. 

     

    이 문제를 해결하기위해서는 SDK 폴더에 API를 다운로드 받으면 된다.

     

    안드로이드 외부 툴 경로

    유니티 상단에 Edit - Preferences를 클릭하고 Preferences 창 - External Tools 를 클릭하면 위 사진과 같이 안드로이드 빌드에 필요한 SDK, JDK 등의 설정된 경로를 확인할 수 있다. 

    여기서 봐야할 것은 JDK와 Android SDK 경로가 필요하다.

     

    먼저 환경 변수에 JAVA_HOME 이라는 변수를 추가해주어야 한다.

    JAVA_HOME 변수 추가

    위 사진처럼 새로 만들기 버튼을 클릭하여 JAVA_HOME이라는 변수에 변수 값은 아까 유니티에서 확인한 JDK 경로를 넣어준다. 

     

    그 후 CMD를 관리자 권한으로 실행한 후에 다음과 같은 명령어를 입력한다.

     

    cd SDK 경로\tools\bin

    cd SDK 경로\tools\bin

    위의 명령어를 입력합니다. 

     

    위의 경우

    cd C:\Program Files\Unity\Hub\Editor\2021.3.12f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\bin

    가 된다.

     

    CMD에서 CD 명령어는 Change Directory의 약자로 디렉토리(간단히 말해서 폴더) 변경, 즉 CMD가 명령을 실행할 디렉토리 변경하라는 명령어이다. 

    따라서 위의 명령어의 경우 cd 명령어를 통해서 JDK가 설치된 곳으로 이동하라는 뜻이 된다. 

     

    sdkmanager.bat "platforms;android-원하는 API level"

    sdkmanager.bat "platforms;android-원하는 API level"

    다음 명령어는 위와같이 입력합니다. 

    위 사진처럼 API level 33을 받고싶다면 sdkmanager.bat "platforms;android-33"을 입력하면 된다.

     

    만약 환경 변수에 JAVA_HOME 이 제대로 설정이 되어있지않으면 다음과 같은 오류가 나타난다. 

     

    ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.

    Please set the JAVA_HOME variable in your environment to match the
    location of your Java installation.

     

    명령어를 입력하면 위와 같이 라이선스에 관한 내용이 나오고 y를 입력하고 엔터를 누르면 다음으로 진행된다.

     

    API 다운로드

    y를 입력하면 바로 선택한 API를 다운받기 시작한다. 

     

    SDK 경로\platforms 폴더를 확인해보면 정상적으로 android API level 33이 받아진 것을 확인할 수 있다. 

     

     

    이제 다시 유니티로 돌아가서 빌드를 해보면 에러가 나타나지 않는다. 

     

     

     

     

     

    반응형

    댓글

    Designed by JB FACTORY