카테고리 보관물: Android

Android device에 quake를 올려보다

Quake는 id software에서 소스를 공개한 게임으로 안드로이드 external 디렉토리에 함께 들어가 있다.

Android의 다른 module들과 마찬가지로 디렉토리에서 mm command로 간단히 컴파일 할 수 있으며, 결과물은 다음 두개의 파일로 생성된다.

out/target/product/PRODUCT/system/app/Quake.apk
out/target/product/PRODUCT/system/lib/libquake.so

하지만 이 파일들을 push 해주고 실행해도 pak0.pak를 찾지못한다면서 멈추는데, pocket quake에 필요한 파일인 것같다. 자세한 내용은 http://quake.pocketmatrix.com/readme.php에 있으며, pak0.pak는 같은 웹사이트(http://quake.pocketmatrix.com/mods.php)에서 다운로드 받을 수 있다.

이제 pak0.pak를 올리고 실행하면 quake의 데모가 실행되는 것을 볼 수 있다. 아무리 화면을 눌러도 아무런 움직임이 없는데 README.txxt를 읽어보니 QWERTY keyboard에 control이 맞춰져 있는것 같다.

The Quake controls are customizable, depending upon the settings of config.cfg,
but the defaults are:

Android     PC Key    Command          Notes
Keypad
----------  --------- ---------------  ----------------------------------
Alt Space   TAB       +showscores      Shows scores in multiplayer games
DPad Enter  ENTER     +jump
Menu        ESCAPE    togglemenu       Shows/hides menu
space       SPACE     +jump
+           +         sizeup           Increases size of screen
,           ,         +moveleft        Strafe left
-           -         sizedown
.           .         +moveright       Strafe right
/           /         impulse 10       Toggle weapons up
0           0         impulse 0
1           1         impulse 1        Select weapon 1 (axe)
2           2         impulse 2        Select weapon 2 (shotgun)
3           3         impulse 3        Double-barrled shotgun
4           4         impulse 4        Nailgun
5           5         impulse 5        Super nailgun
6           6         impulse 6        Grenade launcher
7           7         impulse 7        Rocket Launcher
8           8         impulse 8        Thunderbolt
=           =         sizeup
\           \         +mlook           Mouse look. (Not very useful, as there is no mouse.)
Alt w       `         toggleconsole    Used to enter fancy commands.
w           w         +forward
s           s         +back
a           a         +left
d           d         +right
q           q         +lookup
z           z         +lookdown
v           v         +movedown
f           f         +moveup
t           t         messagemode
DPad Up     UPARROW   +forward
DPad Down   DOWNARROW +back
DPad Left   LEFTARROW +left
DPad Right  RIGHTARROW+right
Alt         ALT       +strafe
@ or /      CTRL      +attack
Cap         SHIFT     +speed
Alt 1       F1        help              (This is just an advertisement in the shareware version
.)
Alt 2       F2        menu_save
Alt 3       F3        menu_load
Alt 4       F4        menu_options
Alt 5       F5        menu_multiplayer
Alt 6       F6        echo Quicksaving...; wait; save quick

 

Jelly Bean의 external directory에 들어 있는것들

문득 jelly bean소스를 받고 external directory를 보니 그 안에 뭐가 들어 있을까 궁금해 졌다. 디렉토리 별로 3rd party 정보를 정리되어 있기도 하고 없기도 해서 google과 wikipedia의 도움을 받아 정리한 문서를 아래의 링크로 걸어둔다.

[Android external directory 문서로 바로 가기 (Google docs)]

 

CTS 설정하기

다음은 Android CTS 시험을 위한 환경 설정 절차이다. Android gingerbread 부터는 build를 위해서는 64bits 환경을  요구 하지만 CTS용으로 사용하려면 32bits만 지원하는 machine에서도 가능하다.

 

1. 필요한 package들을 설치  (Java6/zip/unzip)
: 32 bits ubuntu 10.04를 깔고 jav6/zip/unzip을 설치해 준다.  최근에 java6가 보안 문제로 repository에서 빠졌는데, 다음의 방법으로 설치할 수 있다.

* Java 6 설치
$> wget https://raw.github.com/flexiondotorg/oab-java6/master/oab-java6.sh -O oab-java6.sh
$> chmod +x oab-java6.sh
$> sudo ./oab-java6.sh
$> sudo apt-get update && sudo apt-get install sun-java6-jdk

 

2. Android SDK 설치
: SDK를 download받고 압축을 푼다.

$> wget http://dl.google.com/android/android-sdk_r18-linux.tgz
$> tar xvzf android-sdk_r18-linux.tgz

 

3. CTS download 및 압축 풀기

$> wget https://dl.google.com/dl/android/cts/android-cts-4.0.3_r2-linux_x86-arm.zip
$> unzip android-cts-4.0.3_r2-linux_x86-arm.zip

 

4. USB 설정

$> vi /etc/udev/rules.d/51-android.rules
# LGE devices
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0600", OWNER="your_account"
# SAMSUNG devices
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0600", OWNER="your_account"