본문 바로가기

카테고리 없음

안드로이드 컴파일 오류 해결 방법 (GameMaker Studio 2)

안드로이드 컴파일 오류의 해결 방법

GameMaker Studio 2에서 안드로이드 컴파일을 할 때, 코드에 문제가 없는데도 종종 오류가 발생합니다.
컴파일이 안 되는데 로그를 봐도 모르겠을 때, 시도 해볼만한 해결 방법들을 아는대로 적어 보았습니다.
(사실 제가 매번 똑같은 오류에 삽질해서 이 기회에 정리해 놓는 겁니다.)


패키지 네임에 특수 문자

패키지 네임에 (a-z), (A-Z), (0-9), 그 외 허용되는 "-(하이픈)", "_(언더바)", ".(닷)" 등의 기호를 제외하고는 입력이 되어 있어선 안됩니다. 가령 한글이나 공백이 들어가 있다면 잘못 된 경우입니다!

이건 오류는 안 나지만 작명 표준에 어긋납니다. 표준을 지킵시다.

경로 안에 한글 있어요

"C:\Users\이재협\Desktop\GameProject\Game.yyp"
이런 식으로 프로젝트 폴더의 경로에 한글이나 특수 문자가 섞여 있을 수 있습니다! 이런 경우 경로에 한글이 없도록 조치 해주시면 됩니다.

아는 사람들은 아는 삽질할 때 보게 되는 특수 기호

특히, 컴파일 에러에 위와 같이 생긴 기호나, 기타 인코딩이 깨진 문자들이 나타난다면 더욱 의심해볼 수 있습니다. 

만능 빗자루 Clean (CTRL + F7) 

바로 이 빗자루 모양 아이콘을 말하는 것입니다. 무언가 설정을 건드렸는데 컴파일이 안 되기 시작했다. 그런데 다시 원상복구를 했는데도 컴파일이 안 된다? 그럼 캐시가 남아 있어서 그럴 가능성이 있는 것입니다. 그럴 때 빗자루 아이콘을 눌러서 캐시를 삭제해 주시면 컴파일이 다시 잘 되는 경우가 많습니다. 

"Google_*" Extensions Re-Import

여태까지 GameMaker Studio 시리즈에서 구글 관련 익스텐션의 호환성은 전체적으로 나빴습니다! 아직까지도 많은 컴파일 오류들이 Google 관련 익스텐션에서 발생합니다. Google Play Services, Billing, IAP, ······. 하여튼 Google이라는 글자가 들어가는 모든 익스텐션을 말하는 것입니다. 심지어는 오류를 해결해도 며칠 뒤에 다른 오류가 발생하기도 합니다. 만약 컴파일 에러 로그에 "Google"이라는 단서가 보이면 다음 지침을 따라보세요.

1. Extensions에서 Google_*에 해당하는 익스텐션 모두 삭제
2. 프로젝트 끄고, "프로젝트_폴더\Extensions\"에서도 해당하는 디렉토리 모두 삭제
3. 프로젝트 다시 열고, Marketplace에서 최신버전으로 다시 Import
4. 만능 빗자루 (CTRL + F7) 실행

이후 컴파일을 시도하면 오류가 해결될 가능성이 높습니다.

Run Lint code analysis 옵션 체크 해제

린트 어쩌구 이건 컴파일할 때 백해무익한 녀석입니다. 만약 컴파일 에러 로그에 "Lint"라는 단어가 보이고, 옵션에 사진과 같이 체크되어 있다면, 이걸 해제하면 컴파일이 되는 경우가 많습니다.
'왜 해결되는 걸까?' 개발자라면 궁금해 해야 마땅합니다. 하지만 저에게 중요한 것은 당장 업데이트를 올리는 것이므로, 컴파일 오류의 원인 따위에는 관심 없습니다. 고쳐지면 그만입니다!

Android SDK 점검

SDK 경로가 정확한지, SDK 버전이 제데로 적혀 있는지, 실제로 그 SDK 버전이 설치되어 있는지 확인해야 합니다! Target SDK 버전이 너무 낮아서도 안 되고, Minimum SDK 버전이 너무 낮아서도 안 됩니다. 덧붙여, 어떤 익스텐션은 Minimum SDK가 일정 버전 이상이어야 작동이 가능해서, 그 이하를 입력하면 컴파일이 안 되는 경우도 있으니 세심한 확인이 필요합니다.

Keystore 점검

키스토어도 함께 점검하는 게 좋습니다! Alias와 Password를 제데로 입력했는지, 혹은 키스토어 경로에도 한글이나 특수문자가 끼어들어가 있지 않은지 확인해야 합니다.


위 해결책들이 모든 오류를 해결해주진 않지만, 많은 경우에 도움을 주는 것은 분명합니다!