메뉴 건너뛰기

창작에 관련된 질문이나 간단한 팁, 예제를 올리는 곳

이 문서는 개발 환경이 갖추어져 있는 상태이고, 빌드를 무사히 마친 뒤라고 가정합니다.

또한 이 문서는 https://bitbucket.org/MartinFelis/love-android-sdl2/wiki/Game%20Packaging#markdown-header-how-to-package-the-apk-with-your-own-love-090-game 의 내용을 가져온 것임을 밝힙니다. 

 

현재(2021년 1월 11일) 최신 버전인 11.3 버전에서는 아래의 내용으로 빌드할 수 없으므로 아래의 링크를 참조하세요:

연구소 - Love2d 게임 안드로이드로 패키징하기 (hondoom.com)

 

1. 게임 넣기

게임을 .love 파일로 만든다. (여기까지 올 Love2d 개발자라면 어떻게 할지 알고 있을 것이므로 다루지 않는다.) 

그리고 c:\love_android 안에 assets 폴더를 만들고, 그 안에 love 파일을 집어넣는다.

love 파일의 이름을 game.love로 바꾼다.

 

2. 패키지 이름 설정하기

AndroidManifest.xml 파일을 수정한다.

<manifest package="org.love2d.android" 부분을 수정. 

ex) <manifest package="com.josefnpat.loveburgers"

 

android:name="GameActivity" 부분을 수정.

ex) android:name="BurgerActivity"

 

그리고 Activity extention을 만들어야 한다.

게임 이름이 com.josefnpat.loveburgers, Activity 이름이 BurgerActivity 라고 가정한다.

src/com/josefnpat/loveburgers/ 폴더를 만든 뒤 빈 BurgerActivity.java 파일을 만들고, 다음과 같이 입력한다.

 

package com.josefnpat.loveburgers;
import org.love2d.android.GameActivity;

public class BurgerActivity extends GameActivity {}

 

3. 버전 바꾸기

기본 버전 이름은 0.9.1b이다.

위키에서는 버전 이름을 다음과 같이 짓는 것을 권장하고 있다:

0.9.1b-loveburgers-v0.1

엔진 버전-게임 이름-게임 버전

 

AndroidManifest.xml의 android:versionName 섹션의 내용을 수정한다.

ex) android:versionName="0.9.1a" -> android:versionName="0.9.1a-loveburgers-v0.1"

 

버전이 올라간다면 버전 코드도 수정해줘야 한다.

android:versionCode="14" 부분이다.

만일 다음 버전이라면, 이 부분이 android:versionCode="15"로 올라가야 한다. 

아니면 그냥 처음부터 android:versionCode="1"로 지정해놓고 2, 3, 4..로 올라가는 것도 괜찮을지도 모른다.

게임 버전이 엔진 버전을 따라갈 필요는 없으니. 

 

4. 게임 이름 바꾸기

게임 이름은 두가지 종류가 있다.

1. 설치/앱 정보를 볼 때 보여지는 이름 -> LoveBurgers 0.1 이라 가정.

2. 작업 관리자, 아이콘 아래에, 어플리케이션 관리자에서 볼 때 보여지는 이름 -> LoveBurgers 라고 가정.

<application 태그 안의 android:label="Löve for Android"이 1번 이름이고, <activity 태그 안의 android:label="Löve for Android"는 2번 이름이다.

수정하면 됨.

 

5. 아이콘 바꾸기

아이콘은 4가지 사이즈가 필요하다.

res 폴더 안의 아이콘을 바꿔주자. 

drawable-hdpi/ic_launcher.png 72*72,

drawable-mdpi/ic_launcher.png 42*42,  

drawable-xhdpi/ic_launcher.png 96*96,

drawable-xxhdpi/ic_launcher.png 144*144.

 

6. 변경 사항 저장하고 다시 빌드

명령 프롬포트에서 cd c:\love_android 명령 실행.

위의 수정 사항들이 올바르게 적용된 것을 확인하고 ant debug 명령 실행.

c:\love_android\bin\love_android_sdl2-debug.apk 경로에 apk 파일 생성된 것을 확인. 

조회 수 :
546
등록일 :
2014.12.15
01:00:37 (*.209.38.113)
엮인글 :
게시글 주소 :
https://hondoom.com/zbxe/index.php?mid=study&document_srl=797993

노루발

2014.12.15
01:05:23
(*.209.38.113)

다음에 개발환경 만들때 개고생 안하려고 정리해 둡니다.

똥똥배

2014.12.15
01:17:15
(*.75.34.130)

하지만 그때는 NDK도 Love도 버전이 올라서

적용이 안 될 수도!!

노루발

2014.12.15
02:22:29
(*.209.38.113)

아아아아ㅏ...

List of Articles
번호 제목 글쓴이 조회 수 추천 수 날짜 최근 수정일sort
45 Lua 소코반: 벽을 뚫고 나가지 않게 해보자! 노루발 696   2013-09-17 2013-09-17 08:31
전체 코드입니다.슬슬 길어지니 요약글 기능이 필요해진달지.. -- 플레이어 위치를 저장하는 변수 -- 초기 시작지점은 5, 5로 설정. playerx = 5 playery = 5 -- 움직인 횟수 저장 moves = 0 -- 맵 데이터를 저장하는 8*8의 2차원 배열 Map 생성 map = {} for ...  
44 Lua 소코반: 상자를 만들고 옮기고 상자와 상자가 겹치거나 상자와 벽이 겹치지 않게 해 보자! 노루발 677   2013-09-17 2013-09-17 08:32
-- 플레이어 위치를 저장하는 변수 -- 초기 시작지점은 5, 5로 설정. playerx = 5 playery = 5 -- 박스의 위치를 저장하는 배열. box = {} -- 움직인 횟수 저장 moves = 0 -- 맵 데이터를 저장하는 8*8의 2차원 배열 Map 생성 map = {} for a = 1, 8 do     ma...  
43 Lua 소코반: 목표 지점을 만들고, 상자가 모두 옮겨지면 게임을 끝내자! 노루발 753   2013-09-17 2013-09-17 08:33
-- 플레이어 위치를 저장하는 변수 -- 초기 시작지점은 5, 5로 설정. playerx = 5 playery = 5 -- 박스의 위치를 저장하는 배열. box = {} -- 박스 목표 지점의 위치를 저장하는 배열. goal = {} -- 움직인 횟수 저장 moves = 0 -- 맵 데이터를 저장하는 8*8의...  
42 이미지 그리는 방법 1편 노루발 812   2013-09-17 2013-09-17 08:35
이미지가 중요한 글인데 이미지가 다 짤렸네요. 압박. 준비물은 일단 이미지입니다. 예제 이미지로 럭키♥를 준비했습니다. 럭키! 럭키! 럭키! 와아아아! 어쨌든 이 럭키를 가지고 예제를 진행하겠습니다! 와아아! 글쓸 맛 난다! 일단 Love2D에서 뭔가 그린다는...  
41 이미지 그리는 방법: 2편. 부제: 쿼드! 노루발 821   2013-09-17 2013-09-17 08:37
(역시 이미지가 중요한 글인데 이미지가 모두 잘렸습니다. 문화재 손실에 슬픔을 표합니다.) Quad에 대해 알아본댔습니다. 쿼드? 쿼드가 뭐지? 생소한 개념인데? 하나의 큰 그림을 로드해서 쪼개서 쓰는 겁니다. 타일 깔듯이요. 우리가 포켓몬스터 같은 걸 하...  
40 게임의 기본 설정을 담당하는 love.conf 노루발 763   2013-09-17 2013-09-17 08:39
안녕하세요, 노루발입니다. 여태까지 이것저것 많이 Love2D를 다뤄와서 제가 만든 소코반에 그래픽을 씌울 수준까지 되었지만 (물론 키 입력은 논외로 치죠, 나중에 다룰게요.) 아직 이걸로 정식 게임을 만든다면 모자라도 한참 모자랍니다. 창의 이름도 실행...  
39 Lua 소코반 EX: 그래픽 준비 노루발 1084   2013-09-18 2013-09-18 08:00
안녕하세요, 노루발입니다. 얼마 전 만든 Lua 소코반을 게임다운 게임을 만들기 위해 그래픽을 씌워보려고 합니다. 저번에 한 Love2D로 살펴본 뭐가 뭔지 모르는 복잡한 그리기 함수들도 사실은 모두가 소코반을 그래픽으로 만들기 위한 훼이크였습니다. 후후....  
38 Lua 소코반 EX: 포팅: 1 노루발 856   2013-09-18 2013-09-18 08:03
-- 플레이어 위치를 저장하는 변수 -- 초기 시작지점은 5, 5로 설정. playerx = 5 playery = 5 -- 박스의 위치를 저장하는 배열. box = {} -- 박스 목표 지점의 위치를 저장하는 배열. goal = {} -- 움직인 횟수 저장 moves = 0 -- 맵 데이터를 저장하는 8*8의...  
37 Lua 소코반 EX: 포팅: 2 (키가 눌리면 이동하게 해 보자) 노루발 832   2013-09-18 2013-09-18 08:04
-- 플레이어 위치를 저장하는 변수 -- 초기 시작지점은 5, 5로 설정. playerx = 5 playery = 5 -- 박스의 위치를 저장하는 배열. box = {} -- 박스 목표 지점의 위치를 저장하는 배열. goal = {} -- 움직인 횟수 저장 moves = 0 -- 맵 데이터를 저장하는 8*8의...  
36 Lua 소코반 EX: 포팅: 3 (머나먼 여행길 안녕 친구여) 노루발 913   2013-09-18 2013-09-18 08:05
안녕하세요, 노루발입니다. 오늘로 그래픽 소코반을 끝내기로 했습니다. 아쉽지만 끝내야죠. 일단 걸음수와 이것저것을 뿌려주기로 합니다. 그런데 이미 화면이 꽉 차버려서 뿌려줄 공간이 없네요... 없으면 만들면 되지. 창을 늘립시다. conf.lua를 수정. fun...  
35 CCTextFieldTTF 0바이트 메모리 누수 버그 해결법 똥똥배 692   2014-01-13 2014-01-13 10:38
CCTextFieldTTF::textFieldWithPlaceHolder("", FONT_NAME, FONT_SIZE); 이런 식으로 텍스트필드를 생성하면 ""가 0바이트라서 해체를 못하고 0바이트 누수가 발생한다. 그냥 스페이스(" ")라도 넣어주면 누수는 발생하지 않는다. 이 버그가 발생하는 버전은 2...  
34 Cocostudio의 ActionNode 메모리 누수 해결법(cocos2d-x 2.2.2) [2] 똥똥배 776   2014-03-09 2014-05-31 19:26
Cocostudio로 액션을 만들고 액션매니저를 이용해서 ActionManager::shareManager()->playActionByName 아래와 같이 실행을 해주면 액션이 실행되는 경우 메모리 누수가 발생한다. (액션을 실행하지 않았을 때는 메모리 누수 없음) 이 메모리 누수를 없애려면 ...  
33 cocos2d-x 2.2.2 UILabelBMFont 메모리 누수 해결법 [2] 똥똥배 783   2014-03-10 2014-05-31 19:30
만약 CocoStudio로 UI를 만든 후 GUIReader를 써서 지정 폰트를 불러오면 엔진 버그로 인해서 메모리 누수가 생긴다. 이걸 고치려면 LabelBMFont.cpp를 아래와 같이 수정해야 한다. void LabelBMFont::setFntFile(const char *fileName) { if (!fileName || st...  
32 cocos2d-x 2.2.2 윈도우 환경 기본 메모리 누수 똥똥배 640   2014-03-10 2014-03-11 03:51
cocos2d-x 2.2.2를 윈도우에서 실행시키고 나서 종료하면 기본으로 4바이트의 메모리 누수가 발생한다. 이건 CCScriptEngineManager가 원인인데 CCObject들은 delete를 실행할 때마다 CCScriptEngineManager의 sharedManager를 호출하기 때문이다. 결국 모든 C...  
31 cocos2d-x 2.2.2 문자열 출력 버그 [2] 똥똥배 601   2014-06-10 2014-08-23 22:35
cocos2d-x 2.2.2, 맥에서만 나타는 문제다. 윈도우, 안드로이드에서는 아무 이상 없다. 줄 수가 꽤 긴 문자열을 출력할 경우, 문자가 전부 다 나오지 않고 잘린다. 잘리는 기준은 줄이다. 문자 수가 어떻든 간에 줄 수에 따라서 잘려버린다. 아마 문자열의 줄 ...  
30 구글 인앱 구매 Soomla로 구현해본 후 팁 똥똥배 577   2014-09-20 2014-09-20 18:45
1. 일단 알파 테스트라도 앱을 출시시켜야 인앱이 작동한다. 그리고 APK 업로드 후에 바로 인앱이 적용되지 않는다. 구글에 게시되는 데, 시간이 걸리므로 인앱 등록 - APK 등록을 마친 후 다음날부터 구현하는 게 깔끔하다. 이걸로 모르고 하루종일 왜 안되나...  
29 Love2d 여러 플랫폼으로 빌드 자동화 노루발 470   2014-11-12 2014-11-12 17:35
https://github.com/MisterDA/love-release/blob/master/README.md http://www.ambience.sk/lua-love2d-game-distribution/  
28 Love2d 안드로이드 빌드하기 노루발 572   2014-12-15 2014-12-15 00:59
Love2d의 안드로이드 포트는 알파 단계입니다. 차차 개선되어 나가긴 하겠지만 아직 불안정한 부분이 많으며, 일어날 수 있는 오작동과 그로 인한 결과는 일절 책임지지 않습니다.   이 문서는 Windows 사용자 기준입니다. Linux나 Mac을 사용할 정도의 내공...  
» Love2d 안드로이드 게임 패키징하기 [3] 노루발 546   2014-12-15 2021-01-11 12:11
이 문서는 개발 환경이 갖추어져 있는 상태이고, 빌드를 무사히 마친 뒤라고 가정합니다. 또한 이 문서는 https://bitbucket.org/MartinFelis/love-android-sdl2/wiki/Game%20Packaging#markdown-header-how-to-package-the-apk-with-your-own-love-090-game ...  
26 [번역] gamedev레딧의 Getting Started 문서 번역 [5] priling 1890   2014-12-26 2018-07-24 10:33
처음인 분들을 위한 '게임만들기' 가이드이 글은 [레딧 게임개발 커뮤니티의 /u/LordNed님의 포스팅]을 베이스로 작성한 것입니다. 이 글의 목적은 게임을 만들고 싶어하는 분들이 어떻게 시작할 수 있을지에 대해 명확한 가이드라인을 보여드리는 것입니다.  ...