유니티 빌드를 하고 구글 플레이 스토어에 업로드 하려다 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
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
환경 변수 설정:
Windows 검색창에 "환경 변수"를 입력하고 "시스템 환경 변수 편집"을 선택합니다.
"환경 변수" 버튼을 클릭합니다.
"시스템 변수" 섹션에서 "새로 만들기"를 클릭합니다.
변수 이름에 JAVA_HOME을 입력하고, 변수 값에 JDK 설치 경로(예: C:\Program Files\Java\jdk-11)를 입력합니다.
"확인"을 클릭하여 모든 대화상자를 닫습니다.
PATH 환경 변수 수정:
"시스템 변수" 섹션에서 "Path"를 선택하고 "편집"을 클릭합니다.
"새로 만들기"를 클릭하고 %JAVA_HOME%\bin을 입력합니다.
"확인"을 클릭하여 모든 대화상자를 닫습니다.
Android SDK를 설치하거나 업데이트할 때 관리자 권한이 필요할 수 있습니다.
cd "C:\Program Files\Unity\Hub\Editor\2020.3.12f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\bin"
SDK Manager를 실행하여 필요한 플랫폼을 설치합니다.
sdkmanager.bat "platforms;android-33"
그 다음 빌드를 해보았는데 다음과 같은 결과가 나옵니다
이제 다음으로 External Tools에 SDK 경로를 추가해줍니다.
그 다음 빌드를 해봅니다.
재밌게도 이번에는 Android development가 JDK 8이 필요하다고 나오고 JRE의 설치가 불충분하다고 나옵니다.
이제 SDK, NDK, Gradle 경로를 모두 확인하여 저장해줍니다.
그 다음 빌드를 돌려보면 빌드 성공입니다.
야호!