본문 바로가기
PROGRAMING📚/Unity📑

[UNITY]Android SDK is missing required platform API

별찌루 2024. 2. 8.
728x90
반응형

Android SDK 업데이트 하기

 

 

 

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 버전이 존재 하지 않는 경우

 

 

일단 안드로이드 스튜디오가 깔려있는지 확인해준다

없을 경우 안드로이드 스튜디오 공식 사이트에서 다운로드를 받아주고 설치를 해준다

 

Android 스튜디오 및 앱 도구 다운로드 - Android 개발자  |  Android Developers

Android 스튜디오는 Android 앱에 최적화된 통합 개발 환경(IDE)을 앱 빌더에게 제공합니다. 지금 Android 스튜디오를 다운로드하세요.

developer.android.com

 

다음을 확인하기 위해서

안드로이드 스튜디오의 SDK 경로와 Unity Android SDK Tool 경로를 확인한다

 

그리고 해당 Unity 안에 있는 SDK 경로로 들어가 본다

C:\Program Files\Unity\2021.3.9f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms

 

나 같은 경우 API Level 34를 Target으로 잡아놨는데

 

 

AndroidStudio에서 SDK Manager 에서 Android API 34를 설치가 되어있지 않았었다

 

C:\Users\dmsej\AppData\Local\Android\Sdk\platforms

 

근데 이걸 해도 같은 문제가 생기는것을 확인 했다

 

 

유니티 SDK 업데이트 실패 - 해결 (Target API Level 29 충족하기)

저런 오류가 떠서 콘솔 창을 보면 repositories.cfg 파일이 없다거나 properties files를 생성하거나 불러오는데 실패했다는 오류가 계속 떴다. (repositories.cfg could not be loaded.) (failed to read or create properties f

maeum123.tistory.com

 

[유니티] SDK 경로 찾기 :: "Unable to detect SDK in the selected directory"

문제 최신 안드로이드 스튜디오를 사용해서 SDK를 설치한 경우 2018 이하의 Unity가 올바른 SDK 경로를 입력해줬음에도 인식을 못하는 경우가 있다 왜 SDK 경로임에도 왜 "Unable to detect SDK in the selected

coding-groot.tistory.com

 

[유니티] 안드로이드 빌드 API level 29 오류

올해 구글 플레이스토어 에서는 타겟팅 API 레벨을 29로 하지 않은 앱은 업데이트도 되지 않는다는 정책변경을 발표했습니다. 이에 맞춰서 대부분의 경우 자동으로 타겟 API 레벨을 설정하여도 유

game-happy-world.tistory.com

 

2) 해당 Unity 버전안에 Target API 버전이 존재 하지 않는 경우

 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 가 설치된 것을 볼 수 있다

 

 

728x90
반응형

댓글