안드로이드 용 커스텀 빌드

Godot는 커스텀 빌드 안드로이드 템플릿을 사용하기 위한 설정을 제공합니다. Godot와 함께 제공되는 미리 빌드된 템플릿을 사용하는 대신, 실제로 안드로이드 Java 프로젝트를 프로젝트 폴더에 설치합니다. Godot는 이제 프로젝트를 빌드하며, 프로젝트를 내보낼 때마다 내보내기 템플릿으로 사용될 것입니다.

이렇게 하고 싶어하는 몇 가지 이유가 있습니다:

  • 빌드하기 전 프로젝트를 수정하기
  • 프로젝트가 있는 빌드에 외부 SDK를 추가하기

커스텀 빌드를 구성하는 것은 다소 간단한 과정이지만, 안드로이드 SDK가 작동하는 방식에 익숙해지는 데는 시간이 걸릴 수 있습니다.

이 과정을 따르기 위해 가능한 디테일하게 설명하겠습니다.

커스텀 빌드 환경 설정하기

프로젝트 메뉴로 갑니다, 그리고 Custom Build 템플릿을 설치합니다:

../../../_images/custom_build_install_template.png

내보내기 템플릿을 다운로드했어야 합니다. 그렇지 않았더라도 이 메뉴가 도움을 줄 것입니다.

이것은 "res://android/build"에 Gradle 기반 안드로이드 프로젝트를 만듭니다, 그리고 .gdignore 파일을 "res://android"에 놓습니다, 따라서 Godot 파일 시스템은 이 폴더를 무시합니다. 자신만의 애드온을 만들기나, 정말로 프로젝트를 수정해야 하는 경우가 아니면 이 파일들은 편집하지 않아도 됩니다.

안드로이드 SDK 설치하기 (명령 행 버전)

명령 행을 사용해서 안드로이드 SDK를 설치하려면 몇 가지 절차가 있습니다. 이 방식의 장점은 간단하며 작은 다운로드/설치 크기입니다. 그렇지만 조금 더 힘들 수 있습니다. 안드로이드 스튜디오 방식은 더 쉽지만, 안드로이드 스튜디오를 다운로드하고 설치해야 합니다 (이는 1기가보다 더 클 수도 있습니다).

Java 설치하기

안드로이드 SDK에는 Java가 포함되지 않습니다, 따라서 수동으로 설치해야 합니다. Java SDK를 설치합니다 (runtime이나 JRE가 아닙니다). OpenSDK 8을 추천합니다, 다른 방법으로 Oracle의 버전 8 용 Java SDK도 가능합니다. 이후 버전은 안드로이드 개발에 작동하지 않을 수 있습니다.

명령 행 도구 다운로드하기

안드로이드 SDK를 다운로드하기 위해 구글 웹사이트로 갑니다. 검색을 통해 안드로이드 스튜디오 다운로드 페이지로 갑니다. 안드로이드 스튜디오를 원한 것은 아니므로, 다운로드하지 않습니다 (원한다면, 하단에서 안드로이드 스튜디오를 사용해 같은 작업을 하는 설명을 읽으세요).

해당 페이지에서 Command Line Tools를 찾아봅니다. 현재 Download Options 아래에 있습니다. 아래로 화면을 스크롤합니다.

../../../_images/custom_build_command_line.png

플랫폼에 맞는 zip 파일을 다운로드합니다, 거기에는 하나의 tools 폴더가 있습니다:

../../../_images/custom_build_zip.png

약간 혼란스러울 수 있습니다, 그러므로 다음 설명을 주의깊게 따르세요:

  • 아무 위치에서 새 폴더를 만들고 android-sdk로 이름을 짓습니다 (**빈 디렉토리이어야 합니다). 윈도우에서는,
C:\users\<yourusername>\Documents\android-sdk

다음 명령이 충분합니다. 방금 다운로드한 sdk zip 파일의 압축을 풉니다. 이전 단계를 거치고 디렉토리에 있는 것은 파일이 들어 있는 tools 폴더이어야합니다, 이렇게 말입니다:

android-sdk/
android-sdk/tools/
android-sdk/tools/allthefiles

라이선스 수락하기

여기에서 하는 모든 것이 좋거나 나쁠 수 있습니다, 하지만 무엇을 하든 지 구글은 라이선스 수락을 요청합니다.

수락하기 위해선, sdkmanager를 특별한 인수를 가진 명령 행에서 실행해야 합니다. sdk 폴더 내의 tools/bin 디렉토리로 갑니다 (윈도우 사용자를 위한 설명이며, Unix 사용자는 명령 행 내비게이션이 작동하는 방식을 알고 있다고 가정합니다):

../../../_images/custom_build_bin_folder.png

그 후 명령 행 윈도우를 엽니다:

../../../_images/custom_build_open_shell.png

여기서 "--licenses" 인수가 있는 sdkmanager를 수동으로 실행합니다:

../../../_images/custom_build_sdkmanager.png

이것으로 몇 가지 라이선스를 수락하는 요청들이 들어옵니다, 모든 요청이 끝날 때까지 "y"를 치고 엔터를 누릅니다.

그런 다음, 플랫폼 도구를 실행합니다 (adb를 설치하는 데 필요합니다):

../../../_images/custom_build_platform_tools.png

Keystore 생성하기

플랫폼 도구를 설치하면, 마지막 단계는 디버그 Keystore를 생성하는 것입니다 (빌드에 필요합니다). 다음 명령을 쳐서 두 폴더 위로 이동합니다:

cd ..\..

(혹은 android-sdk 폴더에서 새 셸을 엽니다).

그리고 다음 문장을 입력해야 합니다 (Unix에서 즉시 실행될 것이며, 윈도우에서는 아래 추가 설명이 있습니다):

keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999

윈도우에서는, Java를 향하는 전체 경로를 제공해야 합니다 (그리고 PowerShell을 사용한다면 문장의 시작에 &를 추가해야 합니다, 일반적인 콘솔에는 필요하지 않습니다).

명확하게 하기 위해, PowerShell에서 작동하는 문장 캡쳐본이 있습니다 (&를 추가하고 keytool.exe에 대한 전체 Java 경로를 추가함). 다시 말하지만, Java가 설치되어 있어야 합니다:

../../../_images/custom_build_command_line.png

(이미지가 너무 작으면, 우클릭하고 새 탭에서 이미지를 여세요)

Godot에서 설정하기

에디터 설정으로 가서 Export -> Android의 몇 가지 영역을 설정합니다. 다음과 같아야 합니다:

../../../_images/custom_build_editor_settings.png

(또 이미지가 너무 작으면, 우클릭하고 새 탭에서 이미지를 여세요)

보시다시피, 대부분의 경로는 원래 만든 android-sdk에 있거나 Java 내부에 있습니다. Unix 사용자의 경우, jarsigner는 종종 "/usr/bin"에 있습니다.

이것으로 모두 설정되었습니다.

안드로이드 SDK 설치하기 (안드로이드 스튜디오)

명령 행 도구를 통해 SDK 설치하기를 끝냈다면, 이 섹션은 편하게 넘어가세요. 안드로이드 스튜디오 경로는 더 쉽지만, 더 많은 디스크 공간을 차지합니다. 안드로이드 용 Godot를 개발하려는 계획이라면 (Java 소스 코드 수정), 혹은 애드온을 개발할 계획이라면 좋을 것입니다.

안드로이드 스튜디오 다운로드하고 설치하기

최신 안드로이드 스튜디오를 다운로드합니다. 설치할 때, 어디에 android-sdk 디렉토리가 만들어지는 지 확인하세요.

../../../_images/custom_build_install_android_studio1.png

주석

이게 재밌는 것이, 기본적으로 제안하는 경로에는 공백이 포함됩니다 (그리고 그것에 불평합니다). 이것은 바꾸어야 합니다.

어쨌든, 사용자 폴더 내에서 다른 경로를 선택하는 것이 좋습니다. 추천하는 경로는 보통 이렇습니다:

C:\Users\<yourusername>\Documents\android-sdk

yourusername 부분을 실제 사용자 이름으로 바꿉니다. 올바르면 위와 같은 화면에서 다음을 선택하세요:

  • Android SDK
  • Android SDK Platform

나머지는 필요없습니다, 빌드 시스템이 자체적으로 이들을 가져오기 때문이죠. 선택한 추 설치를 계속하세요.

Keystore 생성하기

안드로이드 스튜디오 방식으로는 Keystore 생성에서 벗어날 수 있다고 생각했을텐데요, 아닙니다. 다시 돌아왔습니다.

이전 단계에서 android-sdk를 설치한 폴더로 가서, 파일 탐색기를 사용하고 거기에서 명령 행 도구를 엽니다:

../../../_images/custom_build_open_shell.png

실제 입력할 명령 문장은 다음과 같습니다. Unix에서 이것은 즉시 작동하지만, 윈도우에서는 추가 세부 사항이 필요합니다 (계속 읽어주세요).

keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999

윈도우에서는, Java에 대한 전체 경로를 제공해야 합니다 (그리고 PowerShell을 사용한다면, 문장의 시작 부분에 &를 추가해야 합니다, 일반 명령 행에서는 필요하지 않습니다). 걱정하지 마세요, 적어도 윈도우에서 안드로이드 스튜디오를 쓴다면, Java가 번들로 제공됩니다.

명확하게 하기 위해, PowerShell에서 작동하는 문장 캡쳐본이 있습니다 (&를 추가하고 keytool.exe에 대한 전체 Java 경로를 추가합니다, 일반 콘솔을 사용한다면 &를 제거하세요). 안드로이드 스튜디오와 함께 제공되는 Java 버전에 대한 경로를 사용합니다:

../../../_images/custom_build_command_line2.png

(이미지가 너무 작으면, 우클릭하고 새 탭에서 이미지를 여세요)

Godot에서 설정하기

에디터 설정으로 가서 Export -> Android의 몇 가지 영역을 설정합니다. 다음과 같아야 합니다:

../../../_images/custom_build_editor_settings2.png

(또 이미지가 너무 작으면, 우클릭하고 새 탭에서 이미지를 여세요)

보시다시피, 대부분의 경로는 원래 만든 android-sdk에 있거나 Java 내부에 있습니다. Unix 사용자의 경우, jarsigner는 종종 "/usr/bin"에 있습니다.

이것으로 모두 설정되었습니다.

커스텀 빌드를 활성화하고 내보내기

프로젝트 -> 내보내기 대화 상자에서 안드로이드 프로젝트를 설정할 때, custiom build가 켜져있어야 합니다:

../../../_images/custom_build_enable.png

지금부터 프로젝트를 내보내거나, 원 클릭 배포를 하면 Gradle 빌드 시스템으로 새로운 템플릿을 생성하게 됩니다 (매 번 이 창이 나타날 것입니다):

../../../_images/custom_build_gradle.png

작성된 템플릿은 나중에 자동으로 사용되므로, 더 이상 구성할 필요가 없습니다.