ÄÁÅÙÃ÷»ó¼¼º¸±â

¾Èµå·ÎÀ̵åÀÇ ¸ðµç °Í NDK
¾Èµå·ÎÀ̵åÀÇ ¸ðµç °Í NDK
  • ÀúÀÚ°íÇöö,Àüȣö °øÀú
  • ÃâÆÇ»çÇѺû¹Ìµð¾î
  • ÃâÆÇÀÏ2014-11-28
  • µî·ÏÀÏ2019-08-29
º¸À¯ 2, ´ëÃâ 0, ¿¹¾à 0, ´©Àû´ëÃâ 12, ´©Àû¿¹¾à 0

Ã¥¼Ò°³

¡º¾Èµå·ÎÀ̵åÀÇ ¸ðµç °Í ºÐ¼®°ú Æ÷Æá»(2011) ÁýÇÊÁøÀÇ µÎ ¹ø° Ã¥

ÀÌ Ã¥¿¡¼­´Â ´ÜÁö ¾Èµå·ÎÀ̵å NDK·Î °³¹ßÇÑ µ¿Àû ·Îµù ¶óÀ̺귯¸®¸¦ ÀÚ¹Ù ¾ÖÇø®ÄÉÀ̼ǿ¡¼­ È£ÃâÇÏ¿© »ç¿ëÇÏ´Â ¹æ¹ý¿¡ ±×Ä¡Áö ¾Ê°í, NDK¿¡ Æ÷ÇÔµÇÁö ¾ÊÀº ¾Èµå·ÎÀ̵å ÇÁ·¹ÀÓ¿öÅ©ÀÇ ¸®¼Ò½º¸¦ »ç¿ëÇÏ´Â ¹æ¹ýµµ ´Ù·ç°í ÀÖÀ¸¸ç ½ÇÁ¦ ¾Èµå·ÎÀ̵åÀÇ ÇÁ·¹ÀÓ¿öÅ©°¡ ÀÛµ¿ÇÏ´Â ¹æ½Ä°ú À¯»çÇÑ ¼­ºñ½º¸¦ ¸¸µé¸é¼­ Ä¿³Î µå¶óÀ̹ö±îÁö Á¢±ÙÇÏ¿© Çϵå¿þ¾î Á¶ÀÛ±îÁö ÇÒ ¼ö ÀÖµµ·Ï ¼³¸íÇÑ´Ù.

ÀüÀÛ ¡º¾Èµå·ÎÀ̵åÀÇ ¸ðµç °Í ºÐ¼®°ú Æ÷Æá»ÀÌ ¾Èµå·ÎÀÌµå ¿î¿µÃ¼Á¦¸¦ ¹è¿î ÈÄ »ç¿îµå, Ä«¸Þ¶ó, GPS µîÀ» öÀúÈ÷ ºÐ¼®ÇÏ°í Æ÷ÆÃÀ» ´Ù·ç´Â Ã¥À̶ó¸é ¡º¾Èµå·ÎÀ̵åÀÇ ¸ðµç °Í NDK¡»´Â ÀÚ¹Ù·Î ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀ̼ÇÀ» ÀÛ¼ºÇÏ´Ù°¡ ¸·È÷´Â µ¶ÀÚ¿¡°Ô Àß ¾Ë·ÁÁöÁö ¾ÊÀº ÀúÀÚÀÇ ³ëÇϿ츦 Ä£ÀýÇÏ°Ô ¾Ë·ÁÁØ´Ù. ¸¶¹ý °°Àº NDK·Î ¾Èµå·ÎÀ̵åÀÇ ³×ÀÌƼºê ¶óÀ̺귯¸®¸¦ È°¿ëÇغ¸ÀÚ.

¸ñÂ÷

CHAPTER 00 µé¾î°¡¸ç 

CHAPTER 01 ¾Èµå·ÎÀ̵å NDK´Â ¹«¾ùÀΰ¡?
__1.1 ¾Èµå·ÎÀ̵å NDKÀÇ µîÀå ¹è°æ
__1.2 NDK¿¡¼­ Á¦°øµÇ´Â °Í 
__1.3 °³¹ß È¯°æ
____1.3.1 JDK ¼³Ä¡ 
____1.3.2 ¾Èµå·ÎÀ̵å SDK ¼³Ä¡ 
____1.3.3 ÀÌŬ¸³½º¿Í ADT Ç÷¯±×ÀΠ¼³Á¤
____1.3.4 NDK °³¹ß È¯°æ ¼³Á¤
____1.3.5 PDK ¼³Á¤ 
__1.4 ¾Èµå·ÎÀ̵堰³¹ß ¹æ¹ý 
____1.4.1 SDK¸¦ ÀÌ¿ëÇÑ °³¹ß ¹æ¹ý
____1.4.2 NDK¸¦ ÀÌ¿ëÇÑ °³¹ß ¹æ¹ý
____1.4.3 PDK¸¦ ÀÌ¿ëÇÑ °³¹ß ¹æ¹ý ¼Ò°³ ¹× µ¿ÀÛ ±¸Á¶ 
____1.4.4 Android Debug Bridge 

CHAPTER 02 NDK °³¹ßÀ» À§ÇÑ ¾Èµå·ÎÀ̵堾ÖÇø®ÄÉÀ̼Ǡ±âÃÊ ½×±â
__2.1 ¾Èµå·ÎÀ̵堾ÖÇø®ÄÉÀ̼ÇÀÇ ±¸Á¶ 
__2.2 ¾Èµå·ÎÀ̵堾ÖÇø®ÄÉÀ̼Ǡ±¸¼º ¿ä¼Ò 
____2.2.1 ¾×ƼºñƼ 
____2.2.2 ¼­ºñ½º 
____2.2.3 BroadcastReceiver 
____2.2.4 ContentProvider
____2.2.5 ÀÎÅÙÆ® 
__2.3 ¾Èµå·ÎÀ̵堾ÖÇø®ÄÉÀ̼ÇÀÇ ¶óÀÌÇÁ »çÀÌŬ 
____2.3.1 ¾×ƼºñƼ ¶óÀÌÇÁ »çÀÌŬ 
____2.3.2 ¼­ºñ½º ¶óÀÌÇÁ »çÀÌŬ 
____2.3.3 BroadcastReceiver ¶óÀÌÇÁ »çÀÌŬ
__2.4 ¾Èµå·ÎÀ̵堾ÖÇø®ÄÉÀ̼ÇÀÇ Æ۹̼Ǡ

CHAPTER 03 º»°Ý NDK °³¹ß!
__3.1 ³×ÀÌƼºê ¶óÀ̺귯¸® °³¹ßÀ» À§ÇØ ¾Ë¾Æ¾ß ÇÒ °Í 
__3.2 JNI 
____3.2.1 JNA
____3.2.2 SWIG 
____3.2.3 JNI 
__3.3 JNI ±¸Çö ¼ø¼­
__3.4 ÀÚ¹Ù¿¡¼­ ³×ÀÌƼºê ÄÚµå È£ÃâÇϱâ 
__3.5 ³×ÀÌƼºê Äڵ忡¼­ ÀڹٷΠÁ¢±ÙÇϱâ 
__3.6 x86¿¡¼­ JNI ¿¬½À
__3.7 ¾Èµå·ÎÀ̵å Makefile
____3.7.1 Android.mk ºÐ¼®
____3.7.2 Application.mk ºÐ¼® 
__3.8 C¿Í C++¿¡¼­ JNI ±¸Çö ½Ã Â÷ÀÌÁ¡ 
__3.9 SDK, NDK, PDK ·Î±× Ãâ·Â 
____3.9.1 SDK ·Î±× Ãâ·Â 
____3.9.2 NDK ·Î±× Ãâ·Â 
____3.9.3 PDK ·Î±× Ãâ·Â 
__3.10 ¿¹Á¦1: ´õÇϱâ ÇÁ·Î±×·¥
____3.10.1 ¾Èµå·ÎÀ̵堻õ ÇÁ·ÎÁ§Æ® »ý¼ºÇϱâ 
____3.10.2 ÀÚ¹Ù ¾ÖÇø®ÄÉÀ̼ÇÀÇ ±âº» ·¹À̾ƿô º¯°æÇϱâ 
____3.10.3 ÀÚ¹Ù Äڵ堼öÁ¤Çϱâ 
____3.10.4 JNI ±Ô¾à¿¡ ¸Â´Â ¶óÀ̺귯¸® »ý¼ºÇϱâ
____3.10.5 .c ÆÄÀÏÀ» ¸¸µé°í ÄÄÆÄÀÏÇϱâ 
__3.11 ¿¹Á¦2: ¿ÜºÎ ¶óÀ̺귯¸® È°¿ëÇϱâ
__3.12 ¶óÀ̺귯¸® ÀÇÁ¸¼º ¹®Á¦ 
__3.13 JNI_OnLoad 
__3.14 Çѱ۠󸮠
__3.15 ÀÚ¹Ù¿Í NDKÀÇ ¼Óµµ Â÷ÀÌ 
__3.16 ³×ÀÌƼºê ½º·¹µå·Î ÀÚ¹Ù Äݹ頸¸µé±â 
__3.17 ¾Èµå·ÎÀ̵堵ð¹ö±ë 
____3.17.1 addr2line
____3.17.2 gdb¸¦ ÀÌ¿ëÇÑ µð¹ö±ë 
____3.17.3 ÇÁ·ÎÆÄÀϸµ

CHAPTER 04 NDK¿¡¼­ÀÇ ±×·¡ÇȠó¸®
__4.1 bitmap-plasma 
__4.2 NDK 3D 
____4.2.1 ÀÚ¹Ù ¾ÖÇø®ÄÉÀ̼ǿ¡¼­ÀÇ OpenGL ES »ç¿ë 
____4.2.2 NDK¿¡¼­ÀÇ OpenGL ES 1.x
__4.3 SDL Æ÷Æà
____4.3.1 SDLÀ̶õ ¹«¾ùÀΰ¡? 
____4.3.2 ¾Èµå·ÎÀ̵å ÀÚ¹Ù¿Í SDLÀÇ ¿¬°á 
____4.3.3 SDL È°¿ë
__4.4 Native Activity 
____4.4.1 ÇÁ·¹ÀÓ¿öÅ© ³»ºÎ¿Í ¿¬°áÁ¡
____4.4.2 Native Activity¸¦ ¸¸µé¾î º¸ÀÚ 
__4.5 STL°ú NeonÀÇ »ç¿ë 
____4.5.1 STL 
____4.5.2 NEON 

CHAPTER 05 NDKÀÇ È®Àå
__5.1 Ç÷§Æû ¾È¿¡¼­ »ç¿ëµÇ´Â ³×ÀÌƼºê ¶óÀ̺귯¸® 
__5.2 NDK¿ë Android.mk¿Í Àüü ¼Ò½º¿ë Android.mkÀÇ Â÷ÀÌÁ¡ 
__5.3 skia ¶óÀ̺귯¸®·Î ¾ÖÇø®ÄÉÀ̼Ǡ¸¸µé±â 
__5.4 ¾Èµå·ÎÀ̵å Àüü ¼Ò½º ÄÄÆÄÀÏ ¹æ¹ý 
__5.5 ÀÚ¹Ù ¾ÖÇø®ÄÉÀ̼ǿ¡¼­ GPIO ÄÁÆ®·ÑÇϱâ 

CHAPTER 06 ¸ÖƼ¹Ìµð¾î
__6.1 ¾Èµå·ÎÀ̵堳×ÀÌƼºê AudioFlinger È°¿ë°ú OpenSL ES
__6.1.1 ³×ÀÌƼºê AudioFlinger Á¦¾î 
__6.1.2 OpenSL ES 
__6.2 ³×ÀÌƼºê¿¡¼­ Surface Á¢±ÙÇϱâ 
____6.2.1 ¾Èµå·ÎÀ̵åó·³ Á÷Á¢ Surface¸¦ »ç¿ëÇÏ·Á¸é ¾î¶»°Ô ÇؾߠÇÒ±î? 
____6.2.2 Å×½ºÆ®¿ë ¾ÖÇø®ÄÉÀ̼Ç
__6.3 OpenMAX AL 
____6.3.1 OpenMAX AL °³¿ä 
____6.3.2 µ¿ÀÛ ±¸Á¶ 
____6.3.3 ¾Èµå·ÎÀ̵å OpenMAX AL 
____6.3.4 OpenMAX AL ¿¹Á¦ 
__6.4 ¾Èµå·ÎÀ̵忡¼­ FFmpeg È°¿ë
____6.4.1 ¾Èµå·ÎÀ̵堸ÖƼ¹Ìµð¾î ±¸Á¶
____6.4.2 ¾Èµå·ÎÀ̵å ÇÁ·¹ÀÓ¿öÅ©¿¡¼­ÀÇ ¸ÖƼ¹Ìµð¾î
____6.4.3 ¾Èµå·ÎÀ̵堾ÖÇø®ÄÉÀ̼Ǡ°èÃþ¿¡¼­ÀÇ ¸ÖƼ¹Ìµð¾î 
____6.4.4 FFmpeg °³¿ä
____6.4.5 FFmpegÀÇ ±¸¼º
____6.4.6 ¾Èµå·ÎÀ̵å FFmpeg 

APPENDIX ¾Èµå·ÎÀ̵å´Â ¹«¾ùÀΰ¡?
__A.1 ¾Èµå·ÎÀ̵åÀÇ °³³ä 
__A.2 ¾Èµå·ÎÀ̵堿ª»ç 
__A.3 ¾Èµå·ÎÀ̵å Æ¯Â¡ 
__A.4 ¾Èµå·ÎÀ̵堶óÀ̼±½º¿Í ¿ÀÇ ¼Ò½º ¶óÀ̼±½º 
____A.4.1 Dalvik VM 
__A.5 ¾Èµå·ÎÀ̵堽ýºÅÛ ±¸Á¶
__A.6 ¿ìºÐÅõ¿Í VirtualBox·Î NDK °³¹ß È¯°æ ¼³Á¤Çϱâ

ÇÑÁÙ ¼­Æò