[Unity] API 수준 33이상 가져오세요.

ChangJin·2024년 5월 17일
0

Unity

목록 보기
16/17
post-thumbnail

유니티 빌드를 하고 구글 플레이 스토어에 업로드 하려다 API 수준에 미달되어 SDK를 업데이트하던 도중 에러가 발생했는데 Java 경로와 Gradle 환경설정이 문제였다는 글입니다.


원래 가지고 있던 구글 개발자 계정이 해지되어 심란했는데, 빠르게 새로 아이디를 만들어서 개발자 계정을 결제했습니다. ㅜㅜ
예전에 만든 게임의 코드 리팩을 전부 마치고 출시를 하려고 빌드 후에 abb 파일 업로드했습니다. 아주 예전에 만들었던 게임이라서 버전 관리도 제대로 안되어있고 gradle 환경설정도 엉망이 되어있었습니다. 예전 게임을 어떻게 되살릴 수 있을까요?
머나먼 야크쉐이빙을 떠나야겠습니다.



Error!

API 수준이 궁금하다면 Android API 수준 이해라는 좋은 글이 있으니 이걸 참고하면 된다. 대충 프레임워크이나 라이브러리가 지원 끊길 수도 있으니 업데이트하라는 듯하다.
https://learn.microsoft.com/ko-kr/previous-versions/xamarin/android/app-fundamentals/android-api-levels?tabs=windows


1. 최소 API 레벨올리기

ProjectileSetting - Player - OtherSetting
여기서 Minimum API Level과 Target API Level을 설정해줍니다.

그리고 다시 빌드를 클릭하면 API 레벨을 업데이트하라는 경고문이 뜹니다. 업데이트 버튼을 클릭하면 됩니다.


라고 할줄 알았겠지만, 안됩니다. 다음과 같은 오류가 뜹니다.
Exception: Unable to install additional SDK platform. Please run the SDK Manager manually to make sure you have the latest set of tools and the required platforms installed. 
C:\Program Files\Unity\Hub\Editor\2020.3.12f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\bin\sdkmanager.bat "platforms;android-33", exit code 1
Powershell non elevated output:

Arguments are "C:\Program Files\Unity\Hub\Editor\2020.3.12f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\bin\sdkmanager.bat" "platforms;android-33" "D:\Github\Shooting-Witch\ShootingWitch\Temp\AndroidSDKTool"
WARNING: WARNING: Administrative privileges required
Command finished with exit code: 1

보아하니 SDK가 문제인듯하니 JAVA 경로를 설정해줘야할 것 같습니다. 다음의 글을 참고해서 JAVA 경로를 재설정하고 SDK Manager로 강제로 33 수준을 설치해줍니다.
### 1. JAVA 환경 변수 설정 - JAVA_HOME 환경 변수 설정
  • 환경 변수 설정:
    Windows 검색창에 "환경 변수"를 입력하고 "시스템 환경 변수 편집"을 선택합니다.
    "환경 변수" 버튼을 클릭합니다.
    "시스템 변수" 섹션에서 "새로 만들기"를 클릭합니다.
    변수 이름에 JAVA_HOME을 입력하고, 변수 값에 JDK 설치 경로(예: C:\Program Files\Java\jdk-11)를 입력합니다.
    "확인"을 클릭하여 모든 대화상자를 닫습니다.

  • PATH 환경 변수 수정:
    "시스템 변수" 섹션에서 "Path"를 선택하고 "편집"을 클릭합니다.
    "새로 만들기"를 클릭하고 %JAVA_HOME%\bin을 입력합니다.
    "확인"을 클릭하여 모든 대화상자를 닫습니다.

2. 관리자 권한으로 SDK Manager 실행

Android SDK를 설치하거나 업데이트할 때 관리자 권한이 필요할 수 있습니다.

  • SDK Manager 수동 실행
    SDK Manager 실행:
    명령 프롬프트를 관리자 권한으로 엽니다. (Windows 검색창에 cmd를 입력하고, "관리자 권한으로 실행"을 선택합니다.)
  • Unity의 Android SDK 경로로 이동합니다. 예를 들어, Unity 2020.3.12f1의 기본 경로는 다음과 같습니다:

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

SDK Manager를 실행하여 필요한 플랫폼을 설치합니다.

sdkmanager.bat "platforms;android-33"

  • SDK 설치 확인:
    SDK Manager가 성공적으로 실행되고 필요한 플랫폼이 설치되었는지 확인합니다.

그 다음 빌드를 해보았는데 다음과 같은 결과가 나옵니다


2. ProjectSetting SDK 경로 설정하기


이제 다음으로 External Tools에 SDK 경로를 추가해줍니다.


그 다음 빌드를 해봅니다.



재밌게도 이번에는 Android development가 JDK 8이 필요하다고 나오고 JRE의 설치가 불충분하다고 나옵니다.

이제 SDK, NDK, Gradle 경로를 모두 확인하여 저장해줍니다.

그 다음 빌드를 돌려보면 빌드 성공입니다.

야호!

profile
게임 프로그래머

0개의 댓글

관련 채용 정보