메뉴 건너뛰기

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

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

또한 이 문서는 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 파일 생성된 것을 확인. 

조회 수 :
548
등록일 :
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
185 Bootstrap4 container class가 적용된 div의 양 옆에 설정하지 않은 margin이 생김 노루발 5   2024-02-07 2024-02-07 14:25
문제: <div class="container"> TEST </div> 위와 같은 페이지를 브라우저에서 렌더링 시 div의 양 옆에 설정하지 않은 빈 margin이 생김. 해결: <div class="container-fluid"> TEST </div> margin을 0으로 주고 width를 100%로 주고 등등 별걸 다 해봤는데 ...  
184 express.js 세션 적용 후 리다이렉트 시 세션 적용이 제대로 안 되는 문제점 노루발 4   2024-02-07 2024-02-07 14:23
문제: logout.js router.get('/', (req, res) => { req.session.destroy(); res.redirect('/login'); }); login.js if (result[0] !== undefined) { // 로그인에 성공하였으므로 세션을 할당 req.session.uid = result[0].uid; req.session.us...  
183 illegal character 방지 [3] 노루발 22   2023-07-17 2023-07-19 16:14
문제점: 클라이언트 <-> 서버 통신을 하면서 다음과 같이 메세지를 주고받기로 함 패킷종류|파라미터1|파라미터2 예) MOTDREQ -> 서버에 MOTD를 요청 (파라미터 없음) MOTD|공지사항입니다 -> MOTD는 "공지사항입니다" 임 (파라미터 1개) MSG|김덕배|안녕하세...  
182 Lua-love2d TCP 통신 [1] 노루발 22   2023-07-14 2023-07-22 16:19
서버: Lua 클라이언트: Love2d(Lua) 서버 구동에는 luasocket 라이브러리가 필요하며, luarocks로 설치할 수 있음. 별도 패키지 관리자가 있는 리눅스 시스템에서는 apt-get install lua-socket 등의 패키지 관리자 명령어로 설치 가능하며 Windows에서 구동시...  
181 PHP로 웹게임 만드는 영상 [1] 노루발 474   2021-06-25 2022-01-28 03:40
Simple PHP Strategy Game - YouTube  
180 certbot을 이용한 HTTPS 인증서 발급 및 적용 노루발 18   2021-01-12 2021-01-12 16:57
snap 설치 및 업데이트 sudo snap install core; sudo snap refresh core certbot 설치 sudo snap install --classic certbot 심볼릭 링크 생성 sudo ln -s /snap/bin/certbot /usr/bin/certbot nginx에 맞춰 자동 설정 sudo certbot --nginx 알아서 다 해주기...  
179 Love2d 게임 안드로이드로 패키징하기 노루발 48   2021-01-11 2021-02-21 01:45
http://hondoom.com/zbxe/index.php?mid=study&document_srl=797993 버전이 바뀌면서 빌드 방법이 바뀌었기에 다시 정리한다. 1. Android studio 설치 https://developer.android.com/studio/index.html SDK 플랫폼 - Android 11.0 [API 30] SDK 버전 - An...  
178 자동화된 Lua 스크립트의 문서화 - LDoc 노루발 43230   2021-01-11 2021-01-11 11:53
다운로드 https://github.com/lunarmodules/LDoc penlight 설치가 필요 luarocks install penlight 프로젝트가 있는 폴더에서 아래의 명령행을 실행 lua /path/to/ldoc/ldoc.lua $* https://stevedonovan.github.io/ldoc/manual/doc.md.html 문서 코멘트라는걸...  
177 리캡챠 적용 [1] 노루발 11   2021-01-08 2021-01-11 12:15
XE 회원가입 시 구글 리캡챠 인증 추가하기 : 네이버 블로그 (naver.com)  
176 Oracle cloud에 Nginx/MariaDB 설치하기 노루발 93   2020-12-06 2020-12-06 20:19
https://itreport.tistory.com/624  
175 Love2d로 만든 로그라이크 예제 노루발 253   2020-11-30 2020-11-30 22:54
https://gitlab.com/Jalexander39/roguelikedev-does-the-complete-roguelike-tutorial 이걸 왜 여태 몰랐지...  
174 Love2d 이미지 하얗게 그리기 노루발 42   2020-11-23 2020-11-23 04:11
아래와 같은 코드를 사용해 이미지에 색상을 적용할 수 있다. hamster = love.graphics.newImage("hamster.png") love.graphics.setColor(1, 0, 0) -- 빨간색으로 그리기 love.graphics.draw(hamster) love.graphics.setColor(1, 1, 1) 하지만 이미지를 하얗게...  
173 루아 스타일 가이드 노루발 34   2020-11-19 2020-11-19 00:58
http://lua-users.org/wiki/LuaStyleGuide https://github.com/Olivine-Labs/lua-style-guide  
172 턴 기반 시스템 구현에 대한 글 [4] 노루발 440   2020-11-14 2020-11-18 05:49
플레이어와 NPC들의 모든 행동에 1턴이 소요된다면 턴 기반 시스템의 구현이 쉽겠지만 (사실 엄청 쉽지는 않다... 게임엔진은 실시간으로 돌아가는데 행동은 턴으로 제약해야 하니) 전략성을 요구하기 위해 행동에 소모되는 턴을 다르게 설정한다면 다소 생각...  
171 이쁜 눈나가 유니티 개발 알려주는 재생목록 노루발 37   2020-11-12 2020-11-12 05:59
https://www.youtube.com/watch?v=Ur2jN6_si6c&list=PLi-ukGVOag_1lNphWV5S-xxWDe3XANpyE https://www.youtube.com/watch?v=sJClf9S7AMA&list=PLi-ukGVOag_0HR09oTs966Wt81IYYXlFH 유니티를 배우고 있는 건 아닌데 만들어진 라이브러리를 다루는게 아...  
170 love2d에서 안드로이드 터치 제스처 인식하기 노루발 20   2020-11-12 2020-11-12 00:38
-- 안드로이드/iOS 등등의 터치스크린 입력을 받는 기기에서는 총 3가지의 콜백 함수를 사용한다: -- love.touchpressed / love.touchmoved / love.touchreleased -- 다만 위 3가지 함수는 마우스 클릭으로는 발생하지 않으므로 추가적인 처리가 필요하다. -- ...  
169 특정좌표를 기준으로 zoom in/zoom out하기 노루발 58   2020-11-11 2020-11-11 01:22
-- x,y - 줌인/줌아웃시 기준점 (좌표 이동이나 scale에 영향받지 않는 순수한 화면 좌표) -- scale - 현재 scale(1:그대로 0.5:1/2 사이즈 2:2배 사이즈) -- scaleinc - 얼마나 scale을 변화시킬것인가 (I usually use 0.1 or -0.1) -- camx - 카메라의 x좌표...  
168 Lua 클래스 만들고 활용하기 노루발 24   2020-11-06 2020-11-06 22:43
------------------------ stairs.lua ------------------------ Stairs = {} function Stairs:new(x, y, floor, direction, locked) local newStairs = {x = x, y = y, floor = floor, direction = direction, locked = locked} self.__index = self retur...  
167 Lua 테이블 안에 함수 저장하기 노루발 28   2020-11-06 2020-11-06 21:07
테이블 안에 함수를 저장할 수 있다. function move(object, direction) print(object .. " moved to ".. direction) end scheduler = {} scheduler.queue = {} function scheduler.newentry(action, args) scheduler.queue[#scheduler.queue + 1] = {} schedu...  
166 Lua 인수로 nil값이 들어왔을 경우 처리하기 노루발 36   2020-11-06 2020-11-06 20:29
or 연산자를 사용한다. 예제 코드: function moveplayer(direction) direction = direction or "nowhere" print("player moved to ".. direction) end moveplayer() --> "player moved to nowhere" moveplayer("north") -- "player moved to north" 이런 코드...