[UNITY]Android SDK is missing required platform API
PROGRAMING📚/Unity📑 2024. 2. 8. 00:43
Android 빌드를 하다보면 Target API level 을 선택해서 빌드를 해야하는데
사용중인 Unity 버전에서 선택한 Target 이 없는 경우,
다음과 같이 Android SDK is missing required platform API 라는 문제가 발생하는 경우가 있다
이 문제는 현재 Unity 환경에서 API level 34를 타겟팅하기 위한 SDK 버전이 없다는 뜻이다
다음과 같이 Update Android SDK 랑 Use Highest Intalled
Update Android SDK 를 선택하면
다음과 같이 PowerShell 이 열리면서 설치를 하지만
aab 빌드를 하면 위와 같은 버그가 생기면서
빌드가 되지 않는다
Update Android SDK 를 하면 대부분 정상적으로 업데이트가 된다는데
나같은 경우는 문제가 해결되지 않았다
일단 SDK 경로가 잘되어있는지 확인하기 위해서
Editer > Preferences 에서 Android SDK 경로가 설정되어있는지 확인한다
해당 Android SDK 업데이트 오류 같은 경우 두 가지 경우가 있다
1) Android SDK 안에 Target API 버전이 존재 하지 않는 경우
일단 안드로이드 스튜디오가 깔려있는지 확인해준다
없을 경우 안드로이드 스튜디오 공식 사이트에서 다운로드를 받아주고 설치를 해준다
다음을 확인하기 위해서
안드로이드 스튜디오의 SDK 경로와 Unity Android SDK Tool 경로를 확인한다
그리고 해당 Unity 안에 있는 SDK 경로로 들어가 본다
나 같은 경우 API Level 34를 Target으로 잡아놨는데
AndroidStudio에서 SDK Manager 에서 Android API 34를 설치가 되어있지 않았었다
근데 이걸 해도 같은 문제가 생기는것을 확인 했다
API 버전를 수동으로 설치를 해주어야 한다
안드로이드 스튜디오 SDK 폴더에서 복사하는 방법도 있는데
그 방법을 사용하닌까 버그들이 많이 생기길래 명령 프롬프트를 사용해서 API 버전을 수동으로 설치해 주었다
Unity 안에서 Edit - Preferences - External Tools안에서 SDK/JDK 경로를 확인 할 수있다
JDK 경로를 Copy Path해서 복사를 해준다
찾기에서 환경 변수만 쳐도 다음과 같이
시스템 환경 변수 편집으로 들어갈 수 있다
사용자 변수에서 새로 만들기 버튼을 눌러서
JAVA_HOME 이라는 변수에 유니티 JDK 경로를 입력해준다
경로를 지정해주고 CMD(명령 프롬프트)를 관리자 권한으로 열어준다
그리고 유니티 SDK 를 복사해서 다음과 같이 명령어를 입력해준다
cd SDK 경로\tools\bin
이제 유니티 안에 원하는 API 버전을 설치하기 위해서
sdkmanager.bat "platforms;android-API level"
다음 코드를 작성해 주어야한다
나 같은 경우 API Level 34가 필요하기 때문에
sdkmanager.bat "platforms;android-34" 라고 명령어를 입력해주었다
이렇게 android-34 API 가 설치된 것을 볼 수 있다