본문 바로가기

렌파이/모바일

[6.17 이전] 안드로이드용 배포판 만들기

* 구버전을 기준으로 작성된 글입니다. 6.17 버전 이후의 렌파이에서 안드로이드용 배포판 만들기에 대한 내용은 다음의 글을 참고해주시기 바랍니다.

 

안드로이드용 배포판 만들기 (ver.6.17)


더보기

렌파이는 RAPT(Renpy Android Packaging Tool) 을 이용하여 렌파이 게임을 안드로이드 디바이스에서 구동할 수 있는 패키지로 압축하는 것을 지원합니다.

 

* 제가 사용하는 환경이 윈도우즈이므로 모든 과정은 윈도우즈를 기본으로 글을 작성했습니다.

* 안드로이드 포팅은 강의글을 작성하기 위해 처음 시도해보았기 때문에 잘 이해가 안 된다던지 설명이 부족하다거나 잘못된 부분이 있을 수 있습니다. 그런 부분은 댓글로 지적해주시면 감사하겠습니다.

 

과정을 압축하면 네 가지로 요약할 수 있습니다.

 

1. 필요한 파일을 설치해 RAPT를 실행 가능한 환경으로 설정

2. 안드로이드 배포판을 만들 게임 프로젝트의 정보들을 설정

3. 배포판을 만들기

4. 안드로이드 기기에서 테스트

 

필요 프로그램 설치

 

우선 필요한 프로그램을 다운로드해서 설치해야 합니다. 이미 설치되어있다면 물론 그냥 넘어가도 됩니다.

 

 

자바 개발 도구

 

http://www.oracle.com/technetwork/java/javase/downloads/index.html

위 주소에 접속합니다.

 

 

 

위와 같은 화면이 보이면 자바 플랫폼 (JDK) 라고 적힌 버튼을 클릭합니다.

 

 

약관에 동의를 하고 프로그램을 다운로드합니다.

참고로 윈도우즈 64비트용은 RAPT가 인식을 하지 못하더군요..; 윈도우즈 64비트를 이용하고 있더라도 32비트용 Windows-i586.exe 파일을 다운로드하세요.

 

 

 

설치프로그램을 실행해 JDK를 설치합니다.

 

 

 

파이썬 2.7

 

 

http://python.org/download/releases/2.7.2/

위 주소에 접속합니다.

 

자신의 운영체제에 맞는 파일을 다운로드해 설치합니다.


그 이후에는 환경변수를 설정해야 합니다. 환경변수 설정은 동영상 내용을 참고하세요.(2분 29초부터 / 최고화질로 동영상 내용을 확인하세요)

* 이 과정을 꼭 거치시기 바랍니다.

 

 

 

 

안드로이드 기기 드라이버

 

(리눅스나 OSX를 사용한다면 설치하지 않아도 됩니다)

 

안드로이드 기기를 컴퓨터에 연결해 드라이버를 설치합니다. 이미 설치되어있다면 넘어갑시다.

 

 

RAPT


 

http://www.renpy.org/dl/android/

위 주소에 접속해 최신 버전의 RAPT 를 다운로드한 뒤 적당한 곳에 압축해제합니다.(목록에서 아래쪽에 있는 것이 최신 버전입니다) 저는 e 드라이브에 압축 해제했습니다.

 

 

 

안드로이드 SDK 및 개발 환경 설정하기

 

 

인터넷 연결 확인

 

우선 인터넷에 연결되어있는지 확인합니다.

 

명령 프롬프트 실행

 

 

 

 

 

윈도우키+R을 눌러 실행창을 띄운 뒤 cmd 를 입력하거나 혹은 시작버튼 클릭 ->모든 프로그램 -> 보조프로그램 -> 명령프롬프트 클릭 으로 명령프롬프트 창을 띄웁니다.

 

 

cd 명령어를 이용하여 방금 RAPT 를 설치했던 경로로 이동합니다. 

제 경우는 e: 드라이브에 저장했기때문에 드라이브 이름을 먼저 입력하여 드라이브로 이동한 뒤 cd 명령어로 설치폴더로 이동했습니다.

 

 

installsdk

 

이후에는 installsdk 명령어로 기타 필요한 파일들을 설치해줍니다. 자세한 내용은 동영상을 참고하세요

 

 

설치 중간에 웹브라우저로 안드로이드 SDK 약관을 띄웁니다. 확인하고 다시 명령프롬프트 창으로 돌아와서 약관에 동의한다는 뜻으로 yes 를 입력하면 됩니다.

 

It looks like you're ready to start packaging games. 이라고 표시되면 이 과정이 완료된 것입니다.

 

게임 설정하기

 

 

배포판을 만들기 전에 정보를 설정해야 합니다. 정보 설정은 다음과 같이 configure 명령어로 할 수 있습니다.

 

python android.py configure mygame

 

mygame은 안드로이드 배포판을 만들 렌파이 게임 프로젝트가 저장된 경로입니다. 저는 별 생각 없이 하다보니 명령어에 프로젝트의 전체 경로(e:\RP_Project\example)를 입력했습니다만 프로젝트 폴더를 RAPT 가 설치된 경로에 복사한다면 경로를 입력할 자리에 게임 프로젝트 폴더 이름만 입력하면 되므로 훨씬 더 간단할 것입니다.

 

 

 

연습해본다고 처음 설정했을 때 엉망으로 해서 다시 설정했습니다;

 

 

배포판 만들기

 

 

배포판을 만드는 방법에는 두 가지가 있습니다. 

 

python android.py build mygame release install

게임 배포판.apk을 만든 다음 현재 컴퓨터에 연결된 안드로이드 기기에 자동으로 배포판을 설치하는 방법

python android.py build mygame release 

그냥 배포판.apk만 만듬

 

저는 글 작성 당시 컴퓨터에 연결한 안드로이드 기기가 없었으므로 두 번째 방법으로 일단 배포판(.apk)파일만 만들었습니다. 자세한 건 동영상을 참고하세요.

 

 

 

 

It looks like the build succeeded. 라고 표시되면 과정이 완료된 것입니다.

 

이렇게 하면 RAPT 가 설치된 경로/bin 에 패키지 파일들이 생성됩니다.

 

 

 

테스트

 

 

 

수전증 죄송합니다;

 

안드로이드 기기로 옮겨 테스트해보았습니다. 혹시나 해서 한글 입력기도 함께 넣어둬봤습니다만 두 번째 대사가 끝난 뒤에 넣어뒀는데 안 뜨는 걸 보면 전혀 작동하지 않는 듯합니다..

 

 

참고

 

매뉴얼 - 안드로이드 패키징

아리새의 창조공간 - 렌파이 / 안드로이드 패키징

이클립스에서 애플리케이션 키스토어 생성 및 사인하기

 

 

 

고유 인증키 만들기

 

매뉴얼에도 적혀있습니다만 처음 installsdk 명령어로 설치할 때 만들었던 인증키는 기본적으로 만들어진 인증키입니다. 물론 그대로 사용해도 상관 없습니다만 자신이 따로 사용할 고유 인증키를 만드려면 jdk로 인증키를 생성한 다음 인증키를 .apk 파일에 사인을 해야 합니다.


jdk 환경변수 설정

일단 키툴을 사용하기 위해 jdk를 환경변수에서 설정해야합니다.

 

 

 

 

 

인증키 생성

 

 

그 뒤 명령 프롬프트를 실행하여 키툴을 저장할 위치로 이동해서 다음 명령어를 입력합니다. 이는 인증키를 만들어 키저장소(keystore)에 저장하는 명령어입니다.

 

 

keytool -genkey -keyalg RSA -alias baekansi -validity 10000 -keystore baekansi.keystore

 

-alias 옆에는 인증키의 이름을 적습니다.

-validity 옆에는 이 인증키의 유효기간을 적습니다 (일 단위입니다. 3650을 입력하면 유효기간이 10년이 되겠죠)

-keystore 옆에는 이 키를 저장할 키스토어를 입력합니다. 새로 만드는 경우에는 새로운 키스토어 이름을 입력합시다.

 

위 명령어에서 baekansi라고 적은 부분을 임의로 입력하세요.

 

다음 과정은 동영상을 참고하시면 됩니다. 화면에 표시되는 입력 내용들은 임의로 입력한 내용입니다. 참고로 비밀번호를 입력할 때에는 화면에 입력한 글자가 표시되지 않습니다.

 

 

마지막 장면에서 keystore 에 대한 비번이 아닌 baekansi 라는 키에 대한 비밀번호를 입력하는데, 키 저장소 비밀번호를 똑같이 사용해도 되고 baekansi 라는 키에 대한 다른 비밀번호를 새로 입력해도 됩니다. 물론 입력한 비밀번호는 잘 기억하고 있어야겠죠..

 

 

키스토어가 만들어졌습니다.


local.properties 수정

 

 

 

 

local.properties 파일을 메모장으로 열어보면 이곳에 인증키와 키저장소 비밀번호 등 렌파이 게임을 안드로이드 배포판으로 만들 때 사용되는 인증키에 관한 정보가 전부 저장되어있습니다. 기본적으로는 모든 것이 android 로 적혀있습니다. 방금 전에 만들었던 keystore의 정보들을 이곳에 차례로 적습니다.

 

key.alias=keytool에서 -alias 명령어 옆에 적었던 이름. 저는 아까 baekansi라고 적었죠.

key.store.password=keystore의 비밀번호

key.alias.password=keystore를 만들 때 맨 마지막으로 적었던 비밀번호

key.store=keystore파일 이름. 제 경우는 baekansi.keystore

 

 

전부 수정한 뒤 저장하면, 앞으로 안드로이드용 배포판을 만들 때에는 사용자가 local.properties 에 설정한 키스토어와 인증키를 apk에 사이닝하며 배포판을 만듭니다.

 

 

주의

 

기본 android.keystore 를 이용하든 임의로 만든 키저장소를 이용하든 해당 파일은 잘 보관해두어야합니다. 키가 없으면 앱을 업로드할 수 없습니다.