{"id":358,"date":"2012-08-15T03:11:34","date_gmt":"2012-08-14T18:11:34","guid":{"rendered":"http:\/\/litcoder.cafe24.com\/?p=358"},"modified":"2012-08-15T03:11:34","modified_gmt":"2012-08-14T18:11:34","slug":"android-device%ec%97%90%ec%84%9c-quake%eb%a5%bc-%eb%8f%8c%eb%a0%a4%eb%b3%b4%eb%8b%a4","status":"publish","type":"post","link":"https:\/\/litcoder.com\/?p=358","title":{"rendered":"Android device\uc5d0 quake\ub97c \uc62c\ub824\ubcf4\ub2e4"},"content":{"rendered":"<p>Quake\ub294 <a href=\"http:\/\/www.idsoftware.com\/\">id software<\/a>\uc5d0\uc11c \uc18c\uc2a4\ub97c \uacf5\uac1c\ud55c \uac8c\uc784\uc73c\ub85c \uc548\ub4dc\ub85c\uc774\ub4dc external \ub514\ub809\ud1a0\ub9ac\uc5d0 \ud568\uaed8 \ub4e4\uc5b4\uac00 \uc788\ub2e4.<\/p>\n<p>Android\uc758 \ub2e4\ub978 module\ub4e4\uacfc \ub9c8\ucc2c\uac00\uc9c0\ub85c \ub514\ub809\ud1a0\ub9ac\uc5d0\uc11c mm command\ub85c \uac04\ub2e8\ud788 \ucef4\ud30c\uc77c \ud560 \uc218 \uc788\uc73c\uba70, \uacb0\uacfc\ubb3c\uc740 \ub2e4\uc74c \ub450\uac1c\uc758 \ud30c\uc77c\ub85c \uc0dd\uc131\ub41c\ub2e4.<\/p>\n<pre class=\"lang:default highlight:0 decode:true\">out\/target\/product\/PRODUCT\/system\/app\/Quake.apk\nout\/target\/product\/PRODUCT\/system\/lib\/libquake.so<\/pre>\n<p>\ud558\uc9c0\ub9cc \uc774 \ud30c\uc77c\ub4e4\uc744 push \ud574\uc8fc\uace0 \uc2e4\ud589\ud574\ub3c4 pak0.pak\ub97c \ucc3e\uc9c0\ubabb\ud55c\ub2e4\uba74\uc11c \uba48\ucd94\ub294\ub370, pocket quake\uc5d0 \ud544\uc694\ud55c \ud30c\uc77c\uc778 \uac83\uac19\ub2e4. \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 http:\/\/quake.pocketmatrix.com\/readme.php\uc5d0 \uc788\uc73c\uba70, pak0.pak\ub294 \uac19\uc740 \uc6f9\uc0ac\uc774\ud2b8(http:\/\/quake.pocketmatrix.com\/mods.php)\uc5d0\uc11c \ub2e4\uc6b4\ub85c\ub4dc \ubc1b\uc744 \uc218 \uc788\ub2e4.<\/p>\n<p>\uc774\uc81c pak0.pak\ub97c \uc62c\ub9ac\uace0 \uc2e4\ud589\ud558\uba74 quake\uc758 \ub370\ubaa8\uac00 \uc2e4\ud589\ub418\ub294 \uac83\uc744 \ubcfc \uc218 \uc788\ub2e4. \uc544\ubb34\ub9ac \ud654\uba74\uc744 \ub20c\ub7ec\ub3c4 \uc544\ubb34\ub7f0 \uc6c0\uc9c1\uc784\uc774 \uc5c6\ub294\ub370 README.txxt\ub97c \uc77d\uc5b4\ubcf4\ub2c8 QWERTY keyboard\uc5d0 control\uc774 \ub9de\ucdb0\uc838 \uc788\ub294\uac83 \uac19\ub2e4.<\/p>\n<pre class=\"lang:default highlight:0 decode:true\">The Quake controls are customizable, depending upon the settings of config.cfg,\nbut the defaults are:\n\nAndroid     PC Key    Command          Notes\nKeypad\n----------  --------- ---------------  ----------------------------------\nAlt Space   TAB       +showscores      Shows scores in multiplayer games\nDPad Enter  ENTER     +jump\nMenu        ESCAPE    togglemenu       Shows\/hides menu\nspace       SPACE     +jump\n+           +         sizeup           Increases size of screen\n,           ,         +moveleft        Strafe left\n-           -         sizedown\n.           .         +moveright       Strafe right\n\/           \/         impulse 10       Toggle weapons up\n0           0         impulse 0\n1           1         impulse 1        Select weapon 1 (axe)\n2           2         impulse 2        Select weapon 2 (shotgun)\n3           3         impulse 3        Double-barrled shotgun\n4           4         impulse 4        Nailgun\n5           5         impulse 5        Super nailgun\n6           6         impulse 6        Grenade launcher\n7           7         impulse 7        Rocket Launcher\n8           8         impulse 8        Thunderbolt\n=           =         sizeup\n\\           \\         +mlook           Mouse look. (Not very useful, as there is no mouse.)\nAlt w       `         toggleconsole    Used to enter fancy commands.\nw           w         +forward\ns           s         +back\na           a         +left\nd           d         +right\nq           q         +lookup\nz           z         +lookdown\nv           v         +movedown\nf           f         +moveup\nt           t         messagemode\nDPad Up     UPARROW   +forward\nDPad Down   DOWNARROW +back\nDPad Left   LEFTARROW +left\nDPad Right  RIGHTARROW+right\nAlt         ALT       +strafe\n@ or \/      CTRL      +attack\nCap         SHIFT     +speed\nAlt 1       F1        help              (This is just an advertisement in the shareware version\n.)\nAlt 2       F2        menu_save\nAlt 3       F3        menu_load\nAlt 4       F4        menu_options\nAlt 5       F5        menu_multiplayer\nAlt 6       F6        echo Quicksaving...; wait; save quick<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quake\ub294 id software\uc5d0\uc11c \uc18c\uc2a4\ub97c \uacf5\uac1c\ud55c \uac8c\uc784\uc73c\ub85c \uc548\ub4dc\ub85c\uc774\ub4dc external \ub514\ub809\ud1a0\ub9ac\uc5d0 \ud568\uaed8 \ub4e4\uc5b4\uac00 \uc788\ub2e4. Android\uc758 \ub2e4\ub978 module\ub4e4\uacfc \ub9c8\ucc2c\uac00\uc9c0\ub85c \ub514\ub809\ud1a0\ub9ac\uc5d0\uc11c mm command\ub85c \uac04\ub2e8\ud788 \ucef4\ud30c\uc77c \ud560 \uc218 \uc788\uc73c\uba70, \uacb0\uacfc\ubb3c\uc740 \ub2e4\uc74c \ub450\uac1c\uc758 \ud30c\uc77c\ub85c \uc0dd\uc131\ub41c\ub2e4. out\/target\/product\/PRODUCT\/system\/app\/Quake.apk out\/target\/product\/PRODUCT\/system\/lib\/libquake.so \ud558\uc9c0\ub9cc \uc774 \ud30c\uc77c\ub4e4\uc744 push \ud574\uc8fc\uace0 \uc2e4\ud589\ud574\ub3c4 pak0.pak\ub97c \ucc3e\uc9c0\ubabb\ud55c\ub2e4\uba74\uc11c \uba48\ucd94\ub294\ub370, pocket quake\uc5d0 \ud544\uc694\ud55c \ud30c\uc77c\uc778 \uac83\uac19\ub2e4. \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 http:\/\/quake.pocketmatrix.com\/readme.php\uc5d0 \uc788\uc73c\uba70, pak0.pak\ub294 \uac19\uc740 \uc6f9\uc0ac\uc774\ud2b8(http:\/\/quake.pocketmatrix.com\/mods.php)\uc5d0\uc11c \ub2e4\uc6b4\ub85c\ub4dc \ubc1b\uc744 \uc218 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[2],"tags":[11,52,107],"class_list":["post-358","post","type-post","status-publish","format-standard","hentry","category-android","tag-android","tag-game","tag-quake"],"jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":1034,"url":"https:\/\/litcoder.com\/?p=1034","url_meta":{"origin":358,"position":0},"title":"Android emacs (android-host.el) \uae30\ub2a5 \ucd94\uac00","author":"litcoder","date":"2014\ub144 8\uc6d4 27\uc77c","format":false,"excerpt":"AOSP\uc5d0\uc11c \uc81c\uacf5\ub418\ub294 Emacs\uc6a9 Andorid \uac1c\ubc1c\ud658\uacbd\uc744 \uc124\uc815\ud55c \uc774\ud6c4(\uc774 post \ucc38\uc870) \uc798 \ubaa8\ub974\ub294 LISP\uc744 \ub354\ub4ec\uc5b4 \uac00\uba70 \ucd94\uac00\ud55c \uba87 \uac00\uc9c0 \uae30\ub2a5\uc744 \uc18c\uac1c\ud569\ub2c8\ub2e4. adb reboot (M-x android-adb-reboot) Module\ub4f1\uc744 \ubcc0\uacbd\ud55c \ud6c4\uc5d0 device\ub97c reset\ud558\ub294 \uba85\ub839\uc5b4\uac00 \uc5c6\uc5b4\uc11c \ucd94\uac00\ud588\ub2e4. \uc774 \uae30\ub2a5\uc758 \uc7a5\uc810\uc744 \uad73\uc774 \uaf3d\uc790\uba74 shell\uc744 \ub530\ub85c \ub6f0\uc6b0\uc9c0 \uc54a\uace0 \ub9ac\ubd93\uc744 \ud560\uc218 \uc788\ub2e4\ub294\uac70... (defun android-adb-reboot () \"Execute 'adb reboot'.\" (interactive)\u2026","rel":"","context":"&quot;Android&quot;\uc5d0\uc11c","block_context":{"text":"Android","link":"https:\/\/litcoder.com\/?cat=2"},"img":{"alt_text":"icon_text_file","src":"https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2014\/08\/1408382052_12.File_.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1021,"url":"https:\/\/litcoder.com\/?p=1021","url_meta":{"origin":358,"position":1},"title":"Emacs\uc5d0\uc11c Android \uac1c\ubc1c \ud658\uacbd \uc0ac\uc6a9","author":"litcoder","date":"2014\ub144 8\uc6d4 10\uc77c","format":false,"excerpt":"AOSP\uc5d0\ub294 Emacs\uc5d0\uc11c Android \uac1c\ubc1c\ud658\uacbd\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub3c4\ub85d \uba87\uba87 el file\ub4e4\uc744 \uc81c\uacf5\ud558\ub294\ub370, platform \u00a0module build\ub97c \uc8fc\ub85c \ud558\uac8c \ub418\ub294 \ub098\ub85c\uc368\ub294 \uc0ac\uc6a9\uc5d0 \ubd80\uc871\ud568\uc774 \uc5c6\ub294 \uac83 \uac19\ub2e4. Module build\uc640 \uae30\ubcf8\uc801\uc778 ADB \uc870\uc791\uc744 \uc9c0\uc6d0\ud558\ub294 \uc774 script\ub4e4\uc758 \uae30\ub2a5\uc774 \ubd80\uc871\ud558\ub2e4\uace0 \ub290\ub080\ub2e4\uba74 Android \uac1c\ubc1c\ud658\uacbd\uc744 \ubcf4\ub2e4 \uc801\uadf9\uc801\uc73c\ub85c \uc9c0\uc6d0\ud558\ub294\u00a0android-mode\uc640 \uac19\uc740 project\ub97c \uace0\ub824\ud574 \ubcf4\ub294\uac83\ub3c4 \uc88b\uc744 \uac83\uc774\ub2e4. buildspec.mk \uc124\uc815 \uc0ac\uc2e4 \uc774 \uae30\ub2a5\uc740\u2026","rel":"","context":"&quot;Android&quot;\uc5d0\uc11c","block_context":{"text":"Android","link":"https:\/\/litcoder.com\/?cat=2"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1489,"url":"https:\/\/litcoder.com\/?p=1489","url_meta":{"origin":358,"position":2},"title":"Android Studio\uc5d0\uc11c Googletest \uc0ac\uc6a9\uc744 \uc704\ud55c \uc124\uc815","author":"litcoder","date":"2016\ub144 7\uc6d4 1\uc77c","format":false,"excerpt":"Android Studio\ub294 \ub0b4 PC\uc5d0\uc11c \uc880 \ub290\ub9ac\uae34 \ud558\uc9c0\ub9cc, \ub2e4\ub978 IDE\ub4e4\uc5d0 \ube44\ud574\uc11c\ub294 Emacs key binding\uc774 \ube44\uad50\uc801 \uc798\ub418\uc5b4 \uc788\uc5b4\uc11c \ub9cc\uc871 \ud558\uba74\uc11c \uc870\uae08\uc529 \ubc30\uc6cc\uac00\uace0 \uc788\ub2e4. NDK\ub85c JNI\uc5d0\uc11c \ubd88\ub7ec\ub2e4 \uc4f8 native code\ub97c \uad6c\ud604\ud558\ub2e4 \ubcf4\ub2c8 Googletest\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574 \ub9e4\ubc88 device\ub85c push \ud558\uace0 \uc2e4\ud589\ud558\ub294 \uacfc\uc815\uc774 \uaf64\ub098 \ubc88\uac70\ub85c\uc640\uc11c script\ub85c \ub9cc\ub4e4\uc5b4 \ubcf4\uc558\ub2e4. \uc774 \uae00\uc5d0\uc11c\ub294 Android Studio\uc5d0\uc11c Googletest\ub97c \uc0ac\uc6a9\ud558\uae30 \uc704\ud55c\u2026","rel":"","context":"&quot;Android&quot;\uc5d0\uc11c","block_context":{"text":"Android","link":"https:\/\/litcoder.com\/?cat=2"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2016\/07\/androidstudio_edittool.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2016\/07\/androidstudio_edittool.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2016\/07\/androidstudio_edittool.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2016\/07\/androidstudio_edittool.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":3957,"url":"https:\/\/litcoder.com\/?p=3957","url_meta":{"origin":358,"position":3},"title":"Raspberry Pi\uc6a9 Qt5 Cross Compile","author":"litcoder","date":"2025\ub144 12\uc6d4 24\uc77c","format":false,"excerpt":"\uc774 \ud3ec\uc2a4\ud305\uc740 Qt5 5.15.11\uc744 RPi5\uc6a9\uc73c\ub85c \ud06c\ub85c\uc2a4 \ucef4\ud30c\uc77c \ud558\ub294 \uacfc\uc815\uc744 \uc815\ub9ac\ud55c \uac83\uc774\ub2e4. Build host\ub294 Ubuntu 24.04\uc774\ub2e4. Overview 2025\ub144 12\uc6d4 \ud604\uc7ac, Qt5\uac00 RPi\uc6a9 deb package \uc0dd\uc131\uc744 \uc9c1\uc811 \uc9c0\uc6d0\ud558\uc9c0\ub294 \uc54a\uae30 \ub54c\ubb38\uc5d0 \ub2e4\uc18c \ubcf5\uc7a1\ud558\uace0 \ubc88\uac70\ub86d\uae34 \ud558\uc9c0\ub9cc, target\uc778 Raspberry Pi OS\uc758 image \ud30c\uc77c\uc744 \ube4c\ub4dc \ud638\uc2a4\ud2b8 \uba38\uc2e0\uc5d0 loop device\ub85c \ub9c8\uc6b4\ud2b8 \uc2dc\ucf1c\uc11c \ud06c\ub85c\uc2a4 \ucef4\ud30c\uc77c\uc744 \uc218\ud589\ud558\uace0 \uadf8 \uacb0\uacfc\ub97c\u2026","rel":"","context":"&quot;Linux&quot;\uc5d0\uc11c","block_context":{"text":"Linux","link":"https:\/\/litcoder.com\/?cat=4"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2025\/12\/qt5_raspios_mount.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2025\/12\/qt5_raspios_mount.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2025\/12\/qt5_raspios_mount.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2025\/12\/qt5_raspios_mount.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2025\/12\/qt5_raspios_mount.png?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":1475,"url":"https:\/\/litcoder.com\/?p=1475","url_meta":{"origin":358,"position":4},"title":"Android recovery image \ube4c\ub4dc \uc124\uc815","author":"litcoder","date":"2022\ub144 3\uc6d4 5\uc77c","format":false,"excerpt":"1. BoardConfig.mk \uc218\uc815 TARGET_NO_KERNEL\uacfc TARGET_NO_RECOVERY\uac00 true\ub85c \uc124\uc815\ub418\uc5b4 \uc788\ub2e4\uba74 \uc124\uc815\ud55c\ub2e4. 2. device.mk \uc218\uc815 TARGET_PREBUILT_KERNEL\uad00\ub828 \uc124\uc815\uc744 \uc0ad\uc81c\ud55c\ub2e4. 3. AndroidBoard.mk \ucd94\uac00 Kernel build \ub420 \ub54c \ucc38\uace0\ub418\ub294 \ud30c\uc77c\uc774\ubbc0\ub85c \ucd94\uac00\ud574 \uc8fc\uace0 KERNEL_DEFCONFIG\ub4f1\uc758 \uc124\uc815\uc744 \uc790\uc2e0\uc5d0 \ub9de\uac8c \ubcc0\uacbd\ud574 \uc900\ub2e4. 4. AndroidKernel.mk \ucd94\uac00 AndroidKernel.mk\ub294 kernel build\ub97c \uc704\ud55c makefile script\uc774\ub2e4. 5. defconfig file \uacbd\ub85c\ubcc0\uacbd defconfig file\uc774 \ucc38\uc870\ub420 \uc218 \uc788\ub3c4\ub85d\u2026","rel":"","context":"&quot;Android&quot;\uc5d0\uc11c","block_context":{"text":"Android","link":"https:\/\/litcoder.com\/?cat=2"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1337,"url":"https:\/\/litcoder.com\/?p=1337","url_meta":{"origin":358,"position":5},"title":"MinnowboardMAX\uc5d0 Android \uc62c\ub824 \ubcf8 \ub0b4\uc6a9 \uc815\ub9ac","author":"litcoder","date":"2015\ub144 9\uc6d4 19\uc77c","format":false,"excerpt":"Android \/ Chromium OS \/ Windows\ub97c \uc62c\ub824 \ubcfc \uc218 \uc788\ub294 Intel Baytrail \uae30\ubc18\uc758 \uac1c\ubc1c\ubcf4\ub4dc\uc778 MinnowboardMAX\uc5d0 Android 5.1\uc744 install\ud558\ub294 \uacfc\uc815\uc744 \uc124\uba85\ud55c\ub2e4. \ud544\uc694\ud55c \uac83 \ub4e4 Minnowboard MAX - \ud310\ub9e4\ud558\ub294 \uacf3, 2015\ub144 9\uc6d4 \ud604\uc7ac \uad6d\ub0b4\uc5d0\uc11c \ud310\ub9e4\ud558\ub294 \uacf3\uc740 \uc5c6\ub294\uac83 \uac19\ub2e4. FTDI cable - Serial \ucd9c\ub825\uc744 PC\uc5d0\uc11c \ubc1b\uae30 \uc704\ud574 guide \ubb38\uc11c\uc5d0\ub294 TTL-232R\uc744 \uc0ac\uc6a9\ud558\ub77c\uace0 \u00a0\ub098\uc640 \uc788\ub294\ub370\u2026","rel":"","context":"&quot;Android&quot;\uc5d0\uc11c","block_context":{"text":"Android","link":"https:\/\/litcoder.com\/?cat=2"},"img":{"alt_text":"minnowboardMAX_connection","src":"https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2015\/09\/minnowboardMAX_connection.png?resize=350%2C200","width":350,"height":200},"classes":[]}],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts\/358","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=358"}],"version-history":[{"count":0,"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts\/358\/revisions"}],"wp:attachment":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=358"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=358"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=358"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}