´ë·®±¸¸ÅȨ >
ÄÄÇ»ÅÍ/ÀÎÅͳÝ
>
±×·¡ÇÈ/¸ÖƼ¹Ìµð¾î
>
¸ÖƼ¹Ìµð¾î
>
¸ÖƼ¹Ìµð¾î ÀϹÝ

¾Èµå·ÎÀ̵åÀÇ ¸ðµç °Í NDK : C/C++À» ÀÌ¿ëÇÑ ¾Èµå·ÎÀÌµå ¾Û °³¹ß ¹æ¹ý
Á¤°¡ 34,000¿ø
ÆǸŰ¡ 30,600¿ø (10% , 3,400¿ø)
I-Æ÷ÀÎÆ® 1,700P Àû¸³(6%)
ÆǸŻóÅ ÆǸűÝÁö
ºÐ·ù ¸ÖƼ¹Ìµð¾î ÀϹÝ
ÃâÆÇ»ç/¹ßÇàÀÏ ÇѺû¹Ìµð¾î / 2012.09.17
ÆäÀÌÁö ¼ö 496 page
ISBN 9788979149593
»óÇ°ÄÚµå 211101894
°¡¿ëÀç°í Àç°íºÎÁ·À¸·Î ÃâÆÇ»ç ¹ßÁÖ ¿¹Á¤ÀÔ´Ï´Ù.
 
ÁÖ¹®¼ö·® :
´ë·®±¸¸Å Àü¹® ÀÎÅÍÆÄÅ© ´ë·®ÁÖ¹® ½Ã½ºÅÛÀ» ÀÌ¿ëÇÏ½Ã¸é °ßÀû¿¡¼­ºÎÅÍ ÇàÁ¤¼­·ù±îÁö Æí¸®ÇÏ°Ô ¼­ºñ½º¸¦ ¹ÞÀ¸½Ç ¼ö ÀÖ½À´Ï´Ù.
µµ¼­¸¦ °ßÀûÇÔ¿¡ ´ãÀ¸½Ã°í ½Ç½Ã°£ °ßÀûÀ» ¹ÞÀ¸½Ã¸é ±â´Ù¸®½Ç ÇÊ¿ä¾øÀÌ ÇÒÀιÞÀ¸½Ç ¼ö ÀÖ´Â °¡°ÝÀ» È®ÀÎÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.
¸ÅÁÖ ¹ß¼ÛÇØ µå¸®´Â ÀÎÅÍÆÄÅ©ÀÇ ½Å°£¾È³» Á¤º¸¸¦ ¹Þ¾Æº¸½Ã¸é »óÇ°ÀÇ ¼±Á¤À» ´õ¿í Æí¸®ÇÏ°Ô ÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.

 ´ë·®±¸¸ÅȨ  > ÄÄÇ»ÅÍ/ÀÎÅÍ³Ý  > ±×·¡ÇÈ/¸ÖƼ¹Ìµð¾î  > ¸ÖƼ¹Ìµð¾î  > ¸ÖƼ¹Ìµð¾î ÀϹÝ

 
Ã¥³»¿ë
ÀÌ Ã¥ÀÌ Á¦½ÃÇÏ´Â ÇÙ½É ³»¿ë
JNI¸¦ ÀÌ¿ëÇÏ´Â NDK¸¦ ÀÌ¿ëÇؼ­ ¾Èµå·ÎÀ̵åÀÇ ¼º´É¿¡ ÃÖÀûÈ­µÈ °í¼º´É ¾ÛÀ» °³¹ßÇغ¸ÀÚ.

ÀÌ Ã¥ÀÇ Æ¯Â¡°ú ÀåÁ¡
¾ÛÀÇ ±âº» °³³äºÎÅÍ ¼³¸íÇÑ Ä£ÀýÇÑ NDK ÁýÇʼ­
ÀÚ¹Ù·Î ¾Èµå·ÎÀÌµå ¾ÛÀ» °³¹ßÇÏ´Ù°¡ ³×ÀÌƼºê ±â´ÉÀ» È°¿ëÇÏ·Á°í ÇßÁö¸¸, ¹«¾ùºÎÅÍ ÇØ¾ß ÇÒÁö ¸ô¶ú´ø °³¹ßÀÚ¿¡°Ô ²À ÇÊ¿äÇÑ Ã¥ÀÌ´Ù. ½ÇÁ¦ NDK·Î ÇÁ·ÎÁ§Æ®¸¦ ÇÏ´Â °³¹ßÀÚ¿Í ¼ö Â÷·Ê °³¹ßÀÚ¸¦ ´ë»óÀ¸·Î °­ÀǸ¦ ÇÑ °­»ç°¡ ÇÔ²² °³¹ßÀÚ¸¦ À§ÇØ °¡Àå ½¬¿î ¾ð¾î·Î Ç®¾î¼­ NDK¸¦ ¼³¸íÇß´Ù.
óÀ½ ¾Èµå·ÎÀ̵带 Á¢ÇÏ´Â µ¶ÀÚ¶ó¸é ºÎ·ÏÀÇ '¾Èµå·ÎÀ̵å¶õ ¹«¾ùÀΰ¡'¸¦ ¼±Çà ÇнÀÇÏ°í, NDKºÎÅÍ ±Ã±ÝÇÑ µ¶ÀÚ´Â 0ÀåºÎÅÍ Á¤ÁÖÇàÀ», NDKÀÇ È°¿ëÀÌ ±Ã±ÝÇÑ µ¶ÀÚ¶ó¸é ¸î °³ÀåÀ» °Ç³Ê ¶Ù°í µÞ ºÎºÐÀ» ÇнÀÇÏ¸é µÈ´Ù.

[¾Èµå·ÎÀ̵åÀÇ ¸ðµç °Í NDK] ¿Â¶óÀÎ Áú´ä °Ô½ÃÆÇ ¿î¿µ
Ã¥À» Àдٰ¡ ¸·È÷°Å³ª ±Ã±ÝÇÑ ºÎºÐÀÌ ÀÖ´Ù¸é ÁÖÀúÇÏÁö ¸»°í Áú¹®ÇÏÀÚ. Ä£ÀýÇÑ ÀúÀÚµéÀÌ Á÷Á¢ ¼³¸íÇØÁØ´Ù.
QA °Ô½ÃÆÇ- http-//www.aesop.or.kr/Board_Community_Book

¾î¶² µ¶ÀÚ¸¦ À§ÇÑ Ã¥Àΰ¡?
-¾Èµå·ÎÀÌµå ¾Û °³¹ß¿¡ ³×ÀÌƼºê ¶óÀ̺귯¸® ±â´ÉÀ» Ãß°¡ÇÏ·Á´Â °³¹ßÀÚ
-ÀÚ¹Ù¿Í ¾Èµå·ÎÀ̵å ÇÁ·¹ÀÓ¿öÅ© ¿¬µ¿ÀÌ ±Ã±ÝÇÑ °³¹ßÀÚ
-¾Èµå·ÎÀ̵带 °øºÎÇÏ·Á´Â Çлý

[¾Èµå·ÎÀ̵åÀÇ ¸ðµç °Í ºÐ¼®°ú Æ÷ÆÃ](2011) ÁýÇÊÁøÀÇ µÎ ¹ø° Ã¥
ÀüÀÛ [¾Èµå·ÎÀ̵åÀÇ ¸ðµç °Í ºÐ¼®°ú Æ÷ÆÃ]ÀÌ ¾Èµå·ÎÀÌµå ¿î¿µÃ¼Á¦¸¦ ¹è¿î ÈÄ »ç¿îµå, Ä«¸Þ¶ó, GPS µîÀ» öÀúÈ÷ ºÐ¼®ÇÏ°í Æ÷ÆÃÀ» ´Ù·ç´Â Ã¥À̶ó¸é [¾Èµå·ÎÀ̵åÀÇ ¸ðµç °Í NDK]´Â ÀÚ¹Ù·Î ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀ̼ÇÀ» ÀÛ¼ºÇÏ´Ù°¡ ¸·È÷´Â µ¶ÀÚ¿¡°Ô Àß ¾Ë·ÁÁöÁö ¾ÊÀº ÀúÀÚÀÇ ³ëÇϿ츦 Ä£ÀýÇÏ°Ô ¾Ë·ÁÁØ´Ù. ¸¶¹ý °°Àº NDK·Î ¾Èµå·ÎÀ̵åÀÇ ³×ÀÌƼºê ¶óÀ̺귯¸®¸¦ È°¿ëÇغ¸ÀÚ.ÀÌ Ã¥ÀÌ Á¦½ÃÇÏ´Â ÇÙ½É ³»¿ë JNI¸¦ ÀÌ¿ëÇÏ´Â NDK¸¦ ÀÌ¿ëÇؼ­ ¾Èµå·ÎÀ̵åÀÇ ¼º´É¿¡ ÃÖÀûÈ­µÈ °í¼º´É ¾ÛÀ» °³¹ßÇغ¸ÀÚ. ÀÌ Ã¥ÀÇ Æ¯Â¡°ú ÀåÁ¡ ¾ÛÀÇ ±âº» °³³äºÎÅÍ ¼³¸íÇÑ Ä£ÀýÇÑ NDK ÁýÇʼ­ ÀÚ¹Ù·Î ¾Èµå·ÎÀÌµå ¾ÛÀ» °³¹ßÇÏ´Ù°¡ ³×ÀÌƼºê ±â´ÉÀ» È°¿ëÇÏ·Á°í ÇßÁö¸¸, ¹«¾ùºÎÅÍ ÇØ¾ß ÇÒÁö ¸ô¶ú´ø °³¹ßÀÚ¿¡°Ô ²À ÇÊ¿äÇÑ Ã¥ÀÌ´Ù. ½ÇÁ¦ NDK·Î ÇÁ·ÎÁ§Æ®¸¦ ÇÏ´Â °³¹ßÀÚ¿Í ¼ö Â÷·Ê °³¹ßÀÚ¸¦ ´ë»óÀ¸·Î °­ÀǸ¦ ÇÑ °­»ç°¡ ÇÔ²² °³¹ßÀÚ¸¦ À§ÇØ °¡Àå ½¬¿î ¾ð¾î·Î Ç®¾î¼­ NDK¸¦ ¼³¸íÇß´Ù. óÀ½ ¾Èµå·ÎÀ̵带 Á¢ÇÏ´Â µ¶ÀÚ¶ó¸é ºÎ·ÏÀÇ ¡®¾Èµå·ÎÀ̵å¶õ ¹«¾ùÀΰ¡¡¯¸¦ ¼±Çà ÇнÀÇÏ°í, NDKºÎÅÍ ±Ã±ÝÇÑ µ¶ÀÚ´Â 0ÀåºÎÅÍ Á¤ÁÖÇàÀ», NDKÀÇ È°¿ëÀÌ ±Ã±ÝÇÑ µ¶ÀÚ¶ó¸é ¸î °³ÀåÀ» °Ç³Ê ¶Ù°í µÞ ºÎºÐÀ» ÇнÀÇÏ¸é µÈ´Ù. ¡º¾Èµå·ÎÀ̵åÀÇ ¸ðµç °Í NDK¡» ¿Â¶óÀÎ Áú´ä °Ô½ÃÆÇ ¿î¿µ Ã¥À» Àдٰ¡ ¸·È÷°Å³ª ±Ã±ÝÇÑ ºÎºÐÀÌ ÀÖ´Ù¸é ÁÖÀúÇÏÁö ¸»°í Áú¹®ÇÏÀÚ. Ä£ÀýÇÑ ÀúÀÚµéÀÌ Á÷Á¢ ¼³¸íÇØÁØ´Ù. ¾î¶² µ¶ÀÚ¸¦ À§ÇÑ Ã¥Àΰ¡? ¾Èµå·ÎÀÌµå ¾Û °³¹ß¿¡ ³×ÀÌƼºê ¶óÀ̺귯¸® ±â´ÉÀ» Ãß°¡ÇÏ·Á´Â °³¹ßÀÚ ÀÚ¹Ù¿Í ¾Èµå·ÎÀ̵å ÇÁ·¹ÀÓ¿öÅ© ¿¬µ¿ÀÌ ±Ã±ÝÇÑ °³¹ßÀÚ ¾Èµå·ÎÀ̵带 °øºÎÇÏ·Á´Â Çлý Ã¥ ¼Ò°³ ÀÌ Ã¥¿¡¼­´Â ´ÜÁö ¾Èµå·ÎÀ̵å NDK·Î °³¹ßÇÑ µ¿Àû ·Îµù ¶óÀ̺귯¸®¸¦ ÀÚ¹Ù ¾ÖÇø®ÄÉÀ̼ǿ¡¼­ È£ÃâÇÏ¿© »ç¿ëÇÏ´Â ¹æ¹ý¿¡ ±×Ä¡Áö ¾Ê°í, NDK¿¡ Æ÷ÇÔµÇÁö ¾ÊÀº ¾Èµå·ÎÀ̵å ÇÁ·¹ÀÓ¿öÅ©ÀÇ ¸®¼Ò½º¸¦ »ç¿ëÇÏ´Â ¹æ¹ýµµ ´Ù·ç°í ÀÖÀ¸¸ç ½ÇÁ¦ ¾Èµå·ÎÀ̵åÀÇ ÇÁ·¹ÀÓ¿öÅ©°¡ ÀÛµ¿ÇÏ´Â ¹æ½Ä°ú À¯»çÇÑ ¼­ºñ½º¸¦ ¸¸µé¸é¼­ Ä¿³Î µå¶óÀ̹ö±îÁö Á¢±ÙÇÏ¿© Çϵå¿þ¾î Á¶ÀÛ±îÁö ÇÒ ¼ö ÀÖµµ·Ï ¼³¸íÇÑ´Ù. ¡º¾Èµå·ÎÀ̵åÀÇ ¸ðµç °Í ºÐ¼®°ú Æ÷Æá»(2011) ÁýÇÊÁøÀÇ µÎ ¹ø° Ã¥ ÀüÀÛ ¡º¾Èµå·ÎÀ̵åÀÇ ¸ðµç °Í ºÐ¼®°ú Æ÷Æá»ÀÌ ¾Èµå·ÎÀÌµå ¿î¿µÃ¼Á¦¸¦ ¹è¿î ÈÄ »ç¿îµå, Ä«¸Þ¶ó, GPS µîÀ» öÀúÈ÷ ºÐ¼®ÇÏ°í Æ÷ÆÃÀ» ´Ù·ç´Â Ã¥À̶ó¸é ¡º¾Èµå·ÎÀ̵åÀÇ ¸ðµç °Í NDK¡»´Â ÀÚ¹Ù·Î ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀ̼ÇÀ» ÀÛ¼ºÇÏ´Ù°¡ ¸·È÷´Â µ¶ÀÚ¿¡°Ô Àß ¾Ë·ÁÁöÁö ¾ÊÀº ÀúÀÚÀÇ ³ëÇϿ츦 Ä£ÀýÇÏ°Ô ¾Ë·ÁÁØ´Ù. ¸¶¹ý °°Àº NDK·Î ¾Èµå·ÎÀ̵åÀÇ ³×ÀÌƼºê ¶óÀ̺귯¸®¸¦ È°¿ëÇغ¸ÀÚ. ÁöÀºÀÌÀÇ ¸» ¾Èµå·ÎÀ̵å ÃÊâ±â °³¹ßÀÚµéÀº ´ëºÎºÐ PDK·Î Æ÷ÆÃÀ» Çϰųª SDK·Î ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇß½À´Ï´Ù. ÇÏÁö¸¸ PDK´Â ´Ü¸» Á¦Á¶»ç ¿Ü¿¡´Â ¼Ò½º ·¹º§¿¡ Á¢±ÙÇÏÁö ¸øÇÏ°í, SDK´Â ÀÚ¹Ù¸¸À» ÀÌ¿ëÇØ¾ß Çß½À´Ï´Ù. ±×·± ÅͶó ±âÁ¸¿¡ ÀÛ¾÷Çß´ø ¿©·¯ ¾ÖÇø®ÄÉÀ̼ǿ¡¼­ »ç¿ëÇÑ ¶óÀ̺귯¸®¿Í C/C++·Î ÀÛ¼ºµÈ ÁÁÀº ÇÁ·Î±×·¥À» È°¿ëÇÒ ¹æ¹ýÀÌ ¾ø¾ú½À´Ï´Ù. ÀÌÈÄ, ¾Èµå·ÎÀÌµå ¹öÀüÀÌ Á¶±Ý¾¿ ³ô¾ÆÁö¸é¼­ C/C++ ¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â NDK(Native Development Kit)¸¦ ±¸±Û¿¡¼­ ¸¶·ÃÇß½À´Ï´Ù. ÇÏÁö¸¸ NDKÀÇ È°¿ë ÀÚ·á´Â ¸î¸î ÀÎÅÍ³Ý ¹®¼­¿Í ¼Ò¼ö °³¹ßÀÚ°¡ °ø°³ÇÑ ¸î¸î ÇÁ·Î±×·¥ Á¤µµ»ÓÀ̾ú½À´Ï´Ù(¿¹. github.comÀÇ ÇÁ·ÎÁ§Æ®). Àú´Â ±âÁ¸ °³¹ß ¹æ½Ä°ú ´õºÒ¾î ÃÖ±Ù »õ·Ó°Ô ³ªÅ¸³ª´Â ´Ù¾çÇÑ ±â¼úÀ» NDK¸¦ ÀÌ¿ëÇؼ­ È°¿ëÇÒ ¼ö ÀÖµµ·Ï Á¤¸®ÇÏ°íÀÚ ÀÌ Ã¥À» ½è½À´Ï´Ù. »ç½Ç ¡º¾Èµå·ÎÀ̵åÀÇ ¸ðµç °Í NDK¡»´Â ¡º¾Èµå·ÎÀ̵åÀÇ ¸ðµç °Í ºÐ¼®°ú Æ÷Æá»°ú °°Àº ½Ã±â¿¡ Ãâ°£ÇÏ·Á°í Çß½À´Ï´Ù. ±×·±µ¥ ¿©·¯ °¡Áö °³ÀÎÀûÀÎ ¹®Á¦°¡ »ý°Ü¼­ NDK´Â Æ÷±âÇÏ°í ºÐ¼®¿¡ °ü·ÃµÈ Ã¥¸¸ Ãâ°£Çß¾ú½À´Ï´Ù. ÀÌ ¶§¹®¿¡ Ã¥ÀÇ ±âȹ°ú ÆíÁýÀ» ¸Ã¾ÆÁֽŠÇѺû¹Ìµð¾î ÃâÆÇ»ç ´ã´çÀÚ¿¡°Ô °ø¿¬È÷ ºÒ¸¸ÀÇ ¼Ò¸®°¡ ÇâÇß´ø °ÍÀ¸·Î ¾Ë°í ÀÖ½À´Ï´Ù. ½ÇÁ¦·Î ¡º¾Èµå·ÎÀ̵åÀÇ ¸ðµç °Í ºÐ¼®°ú Æ÷Æỿ¡ ¡®ºÐ¼®¡¯ÀÌ ºÙ¾ú´Âµ¥, ¡®ÀÌ°Ô ¹¹°¡ ¸ðµç °ÍÀ̳Ä?¡¯¶ó´Â ¹ÝÀÀµµ ÀÖ¾ú½À´Ï´Ù. »ç½Ç ±âȹÀÚ´Â ¡®¾Èµå·ÎÀ̵åÀÇ ¸ðµç °Í¡¯À̶õ ¿¬ÀÛ ½Ã¸®Á ±âȹÇߴµ¥, Ã¥À» ³»°Ú´Ù°í ã¾Æ°¬´ø ÀúÀÚ°¡ ¾à¼ÓÀ» ¾î°Ü¹ö·ÈÀ¸´Ï º»ÀÇ ¾Æ´Ï°Ô »ç±â(?)¸¦ Ä£ ¼ÀÀÌ µÇ¾ú½À´Ï´Ù. Àúµµ Á˼ÛÇÑ ¸¶À½¿¡, âÇÇÇÏÁö¸¸ ¾Æ¹« ¼Ò¸®µµ ¸øÇÏ°í ±×³É ¡®¿¡¶ó ¸ð¸£°Ú´Ù, ³ªµµ ¹Ùºü¼­ Á×À» Áö°æÀε¥ ¸Ó...... (¤Ð.¤Ð)¡¯ÇÏ°í Áö³Â½À´Ï´Ù. ±×·¯´Ù°¡ ¿ÃÇØ ÃÊ¿¡ ¿©À¯°¡ »ý±â¸é¼­ ±âÁ¸¿¡ NDK °­ÀǸ¦ ÇÏ´ø Àüȣö ¾¾¿Í ¿¹Àü¿¡ ÀÛ¾÷Çß´ø NDK °­ÀÇ ±³¾ÈÀ» ¹ÙÅÁÀ¸·Î ÀÏ¹Ý ¸ÖƼ¹Ìµð¾î ºÎºÐÀ» ÇÕÃļ­ Ãâ°£ÇßÀ¸¸é ÇÏ´Â ÀÇÇâÀ» ÃâÆǻ翡 Àü´ÞÇß½À´Ï´Ù. ´ÙÇàÈ÷ ÈçÄèÈ÷ Çã¶ôÇØÁּż­ ÀÌ Ã¥À» ÁøÇàÇÏ°Ô µÇ¾ú½À´Ï´Ù. ¿¹Àü ¡º¾Èµå·ÎÀ̵åÀÇ ¸ðµç °Í ºÐ¼®°ú Æ÷Æá»À» ÀÛ¾÷ÇÒ ¶§µµ ¡®Ã¥ÀÌ Ãâ°£µÇ´Â µ¿¾È ¾Èµå·ÎÀÌµå ¹öÀüÀÌ ¹Ù²î¸é ¾î¶±Çϳª, ³Ê¹« Ã¥À» ¾î·Æ°Ô ¾²Áö ¾Ê¾Ò³ª!¡¯ °ÆÁ¤À» ¸¹ÀÌ Çߴµ¥, ¾Æ´Ï³ª ´Ù¸¦±î À̹ø Ã¥À» ÁýÇÊÇÏ´Â µµÁß¿¡ Á©¸®ºó ¹öÀüÀÌ ¡®¶±!¡¯ ³ª¿Ô½À´Ï´Ù. ÇÏÁö¸¸ ´ÙÇàÈ÷µµ PDK¿Í´Â ´Þ¸® NDK´Â ¾Èµå·ÎÀÌµå ¹öÀü¿¡ ÀÇÁ¸¼ºÀÌ ¾àÇÑ ÆíÀ̾ ¹öÀüÀÌ ¹Ù²î¾îµµ ÀÌÀü ÀÚ·á·Î ÀÛ¾÷À» ÇÏ´Â µ¥ Å« ¹®Á¦°¡ »ý±âÁö ¾Ê¾Ò½À´Ï´Ù. ÀÌ Ã¥¿¡¼­´Â ±âº»ÀûÀÎ NDK»Ó¸¸ ¾Æ´Ï¶ó, PDK ¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇؼ­ NDK¸¦ ÀÛ¾÷ÇÏ´Â ºÎºÐ°ú ¾Èµå·ÎÀ̵åÀÇ ¸ÖƼ¹Ìµð¾î¸¦ NDK·Î ÀÛ¾÷ÇÒ ¼ö ÀÖ´Â ºÎºÐÀ» ´ã¾Ò½À´Ï´Ù. ¶Ç ¾Èµå·ÎÀ̵åÀÇ »õ·Î¿î Ư¡À» ÀÌ¿ëÇÒ ¼ö ÀÖ°Ô ÁÖÁ¦¸¦ È®ÀåÇؼ­ ÀÛ¾÷Çß½À´Ï´Ù(¿¹. OpenSL ES, OpenMAX AL µî). ÀÌ Ã¥À» Ãâ°£ÇÔÀ¸·Î½á ¾Èµå·ÎÀ̵åÀÇ ³× °¡Áö Å« ÁÖÁ¦(¸®´ª½º Ä¿³Î, ¾Èµå·ÎÀ̵å PDK, NDK, SDK) Áß µÎ °¡Áö¸¦ Á¤¸®Çß½À´Ï´Ù. ³ª¸ÓÁö´Â Á¤¸®°¡ ÇÊ¿äÇÏÁö ¾Ê°Å³ª(SDK), ºÒ°¡´É(¸®´ª½º Ä¿³Î)Çϱ⠶§¹®¿¡ °³ÀÎÀûÀ¸·Î´Â ±âº» Á¤¸®´Â ¾î´À Á¤µµ ¸¶¹«¸®µÇ¾ú´Ù°í »ý°¢ÇÕ´Ï´Ù. ³¡À¸·Î Ã¥À» Ãâ°£ÇÒ ¶§¸¶´Ù Ç×»ó ÆíÁý, ±³Á¤À» ÇØÁֽô À¯Çü¸ñ ´Ô°ú Á¶ÈñÁø ´Ô²² °¨»çÀÇ ¸»¾¸ µå¸³´Ï´Ù. _°íÇöö 2008³âÂë AESOPÀÇ °íÇöö ´ÔÀ» ÅëÇØ ¾Èµå·ÎÀ̵带 óÀ½ Á¢Çß½À´Ï´Ù. ±× ´ç½Ã¿¡ °íÇöö ´ÔÀº »ï¼º 6410À» ºÙÀÎ º¸µå¿¡ ¾Èµå·ÎÀ̵带 ¿Ã·Á¼­ ¹«¾ð°¡ ÀÛ¾÷À» ÇÏ°í °è¼Ì´ø °Í °°½À´Ï´Ù. ÇÏ·ç´Â »ç¹«½Ç¿¡ ³î·¯ °£ ÀûÀÌ ÀÖ¾ú´Âµ¥ ±× µ¿¾È ¾Èµå·ÎÀ̵å Ä«¸Þ¶ó ºÎºÐÀ» ºÐ¼®ÇϽŠ³»¿ëÀ» Àú¿¡°Ô ¸¶±¸ ¸¶±¸ ¼³¸íÇØÁ̴ּø ±â¾ïÀÌ ³³´Ï´Ù. ±× ÁîÀ½ Àúµµ ¾Èµå·ÎÀÌµå °³¹ß¿¡ ù °ÉÀ½À» ³»µðµ±´ø °Í °°³×¿ä. Æødz °°Àº ¼³¸íÀÌ Áö³ª°¡°í, Çб³ ¿¬±¸½Ç·Î µ¹¾Æ°¡¼­ °íÇöö ´ÔÀÌ º¸³»ÁØ ºÐ¼® ÀڷḦ ´Ù½Ã º¸¾Ò½À´Ï´Ù. ±×·±µ¥ ±×¶§ Ä«¸Þ¶ó ÄÚµå Áß¿¡ µµÀúÈ÷ ¾Ë ¼ö ¾ø´Â Äڵ尡 ÀÖ´õ±º¿ä. ÀÎÅͳݿ¡ °Ë»öÇصµ Àß ¾È ³ª¿À°í ±×·¡¼­ ±× ´ç½Ã¿¡´Â Á¤È®ÇÑ ¶æÀ» ¾ËÁö ¸øÇÑ Ã¤ ´ëÃæ °¨À¸·Î ¡®¾Æ~ ¾Æ¸¶ ÀÌ ºÎºÐÀº ´ëÃæ ÀÌ·¸°Ô ¿¬°áµÉ °Í °°´Ù¡¯ÇÏ°í ³Ñ¾î°¬½À´Ï´Ù. ±×·±µ¥ 1³âÂë µÚ¿¡ NDK¿Í JNI¸¦ °øºÎÇϸ鼭 ±× ³»¿ëÀ» ¸íÈ®ÇÏ°Ô ¾Ë°Ô µÇ¾ú½À´Ï´Ù(CameraÀÇ ÀÚ¹Ù ºÎºÐ°ú Native CameraÀÇ ¿¬°á Æ÷ÀÎÆ®¿¡ ´ëÇÑ ³»¿ëÀ̾ú½À´Ï´Ù). ±×¸®°í ÇÑÂü ½Ã°£ÀÌ Èê·¯ ´Ù´Ï´ø ´ëÇпøÀ» Àá½Ã Á¢°í °íÇöö ´ÔÀ» µû¶ó¼­ ¾Èµå·ÎÀÌµå ¸ÖƼ¹Ìµð¾î°ü·Ã ÀÏÀ» ÇÏ°Ô µÇ¾ú½À´Ï´Ù. ±×·¯´ø Â÷¿¡ ±¸±ÛÀÌ NDK¸¦ ¹èÆ÷Çß°í ³ÃÅ­ ´Ù¿î¹Þ¾Æ¼­ µ¹·Áº¸¾Ò½À´Ï´Ù. ´ç½Ã ´À³¤ ´À³¦À» ±×´ë·Î ¼³¸íÇÏÀÚ¸é ¡®¾Æ´Ï! µµ´ëü ÀÌ°É·Î ¹¹ Ç϶ó´Â °ÅÀÓ?¡¯ÀÌ¿´½À´Ï´Ù. Á¦ ±â¾ïÀ¸·Î´Â ÃÖÃÊ NDK¿¡´Â ´Ü¼øÈ÷ Åø üÀθ¸ µé¾îÀÖ°í ¿¹Á¦µµ ´Þ¶û µÎ °³¿´½À´Ï´Ù. ±×·¡¼­ º° ÇÊ¿ä ¾ø´Ù°í »ý°¢ÇÏ°í Á¢¾îµÎ¾ú´Âµ¥ ¸î ´ÞÀÌ Áö³­ ÈÄ¿¡¼­¾ß ¡®¾ÆÂ÷!¡¯ ½Í¾ú½À´Ï´Ù. °°ÀÌ ÀÏÀ» µµ¿ÍÁֽôø ÃÖÁ¾È¯ ´ÔÀÌ °Ë»ö Áß¿¡ NDK¸¦ »ç¿ëÇؼ­ ÁøÇà ÁßÀÎ ¿©·¯ °¡Áö ÇÁ·ÎÁ§Æ®¸¦ ã¾Æ¼­ º¸¿©Á̴ּµ¥ NDK Åø üÀÎÀ» »ç¿ëÇؼ­ SDLÀ» ¾Èµå·ÎÀ̵忡 Æ÷ÆÃÇÑ °Í, OpenCV¸¦ Æ÷ÆÃÇÑ °Í µîÀ̾ú½À´Ï´Ù. ¡®³­ ±×³É º°°Å ¾Æ´Ï¶ó°í »ý°¢ÇÏ°í Á¢¾ú´ø NDK¸¦ °¡Áö°í ¿Ü±¹ °³¹ßÀÚ´Â ÀÌ·¸°Ô ´Ù¾çÇÏ°Ô »ç¿ëÇÏ°í ÀÖ±¸³ª¡¯ÇÏ´Â »ý°¢ÀÌ ¹ø¶à µé¾ú½À´Ï´Ù. ¿ª½Ã ¹» ¾Ë¾Æ¾ß ÀÌ°Ô ¶ËÀÎÁö µÈÀåÀÎÁö ÆÇ´ÜÇÏ°í ½á ¸Ô´Â´Ù´Â °ÍÀ» »õ»ï ´Ù½Ã Çѹø ±ú´Þ¾Ò½À´Ï´Ù. ±×¶§ºÎÅÍ NDK¿Í NDK¿¡ »ç¿ëµÇ´Â ÇÙ½É ±â¼úÀÎ JNI¿¡ ´ëÇؼ­ ¿©·¯ °¡Áö¸¦ Á¶»çÇÏ°í °øºÎÇß½À´Ï´Ù. ±×¸®°í µåµð¾î ÀÌ Ã¥À» ³»°Ô µÇ¾ú½À´Ï´Ù. NDK¿¡¼­ »ç¿ëÇÏ´Â JNI´Â ¾Èµå·ÎÀ̵åÀÇ ¿ÜÇüÀÎ ÀÚ¹Ù¿Í ¾Èµå·ÎÀ̵åÀÇ ³»ºÎÀÇ C++ ³×ÀÌƼºê ¶óÀ̺귯¸®¸¦ ¿¬µ¿ÇÏ´Â µ¥ ÇÙ½ÉÀÌ µÇ´Â ±â¼úÀÔ´Ï´Ù. ¾Èµå·ÎÀ̵忡¼­ Áö¿øÇÏÁö ¾Ê´Â ±â´É(¿¹¸¦ µéÀÚ¸é DMB³ª ¸ÖƼ¹Ìµð¾î Ç÷¹À̾î/ÄÚµ¦/Æļ­ µî)À» »ç¿ëÇÏ¿© ¾ÖÇø®ÄÉÀ̼ǰú ¿¬°áÇÏ·Á¸é ¹Ýµå½Ã ÇÊ¿äÇÑ ±â¼úÀÔ´Ï´Ù. ÀüüÀûÀÎ ¾Èµå·ÎÀÌµå ±¸Á¶¸¦ ±×¸± ¶§µµ ÀÌ ºÎºÐÀ» ¾Ë¸é ÈξÀ ÀÌÇØ°¡ ºü¸¦ ¼ö ÀÖ½À´Ï´Ù. ¿Ö³ÄÇϸé NDK¸¦ ÀÌ¿ëÇÑ´Ù´Â °Í ÀÚü°¡ ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀ̼ǿ¡¼­ºÎÅÍ ³»ºÎ¿¡¼­ »ç¿ëÇÏ´Â ¶óÀ̺귯¸®±îÁöÀÇ ºÐ¼®À» ÀǹÌÇÏ´Â °ÍÀ̱⠶§¹®ÀÔ´Ï´Ù. ±×¸®°í JNI´Â ¾Èµå·ÎÀ̵忡¸¸ ±¹ÇѵÇÁö ¾Ê°í ±âÁ¸ÀÇ Àڹ٠ȯ°æ¿¡¼­µµ ¶È°°ÀÌ »ç¿ëµÇ¹Ç·Î ÀÌ°ÍÀ» ¾È´Ù´Â °ÍÀº ÈξÀ °­·ÂÇÑ ÀÚ¹Ù ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µé ¼öµµ ÀÖ´Ù´Â Àǹ̰¡ µÉ ¼öµµ ÀÖ½À´Ï´Ù. Àú´Â ±×µ¿¾È NDK¸¦ ÁÖÁ¦·Î ´Ù·é ¸¹Àº °­ÀǸ¦ ÁøÇàÇØ¿Ô½À´Ï´Ù. °­ÀǸ¦ óÀ½ ½ÃÀÛÇÏ´ø ¶§¿Í´Â ´Þ¸® ÇöÀç´Â NDK¿¡µµ ¸¹Àº ³»¿ëÀÌ Ãß°¡µÇ¾ú°í ±¸±ÛÀÌ °ø°³ÇÑ ³»¿ë ÀÌ¿Ü¿¡ ¸¹Àº ±âÃÊ ÀÚ·áµµ º¸°­ÇÑ »óÅ¿¡¼­ ±× °­ÀÇ¿¡ »ç¿ëÇÏ´ø ÀڷḦ Çѵ¥ ¸ð¾Æ ÀÌ Ã¥À» ³»°Ô µÇ¾ú½À´Ï´Ù. ÀÌ Ã¥À» ¾²´ø ½ÃÁ¡ÀÌ ÁøÀúºê·¹µå¿¡¼­ ¾ÆÀ̽ºÅ©¸² »÷µåÀ§Ä¡·Î ³Ñ¾î°¡´Â ½ÃÁ¡À̾ ¸¹Àº ³»¿ëÀ» ´Ù½Ã ¾²°í º´ÇàÇØ ´ã±âµµ ÇÏ¿´½À´Ï´Ù. ±×¸®°í Surface¸¦ »ç¿ëÇÏ´Â ºÎºÐÀº ÁøÀúºê·¹µå¿¡¼­ ¾ÆÀ̽ºÅ©¸² »÷µåÀ§Ä¡·Î ³Ñ¾î°¡¸é¼­ °ÅÀÇ ´ëºÎºÐÀÇ Äڵ尡 º¯°æµÇ¾ú±â¿¡, ¸¹ÀÌ ¼öÁ¤ÇÏ°í »õ·Ó°Ô ¸¸µå´À¶ó °í»ýÇß½À´Ï´Ù. ƯÈ÷ ÀÌ ºÎºÐÀº ¾Èµå·ÎÀÌµå ³×ÀÌƼºê¿¡¼­ Surface¸¦ È°¿ëÇϱ⸦ ¿øÇϽô ºÐµé¿¡°Ô ¸¹Àº µµ¿òÀÌ µÉ °Å¶ó°í ÀÚºÎÇÕ´Ï´Ù. ¶ÇÇÑ ´Ù¸¥ Ã¥¿¡¼­´Â º¼ ¼ö ¾ø´Â ¸ÖƼ¹Ìµð¾î ±â´É¿¡ ´ëÇÑ ³»¿ëµµ Àֱ⠶§¹®¿¡ °ü·Ã Áö½ÄÀÌ Á¶±Ý ÀÖÀ¸½Å ºÐµé¿¡°Ô ¸¹Àº µµ¿òÀÌ µÇ¸®¶ó »ý°¢ÇÕ´Ï´Ù. ȸ»ç ÀÏÀ» Çϸ鼭 Ã¥µµ ¾²´Â ¹Ù¶÷¿¡ ½Ã°£ÀÌ ¸¹ÀÌ µé±âµµ ÇßÁö¸¸ ¿À·£ ±â°£ ½è±â ¶§¹®¿¡ ´õ ¸¹Àº ³»¿ëÀ» ´ãÀ» ¼öµµ ÀÖ¾ú½À´Ï´Ù. óÀ½ ³»´Â Ã¥ÀÌ¶ó ¸·»ó Ã¥ÀÌ ³ª¿Ã ½ÃÁ¡ÀÌ µÇ´Ï µÎ·Á¿òÀÌ ¸¹ÀÌ ¾Õ¼·´Ï´Ù. Ȥ½Ã³ª Ã¥ÀÌ ³ª¿Â ÈÄ ³»¿ëÀÌ ºÎ½ÇÇÏ´Ù°í ¿å¸ÔÁö´Â ¾ÊÀ»Áö ÇÏ´Â °ÆÁ¤µµ µì´Ï´Ù. ÇÏÁö¸¸ ÇÑÆíÀ¸·Î´Â ½ÃÁß¿¡ ³ª¿Í ÀÖ´Â NDK/JNI °ü·ÃµÈ Ã¥ Áß¿¡ Á¦ Ã¥º¸´Ù À¯¿ëÇÑ ÀÚ·á¿Í Äڵ尡 ¸¹Àº °ÍÀº ¾ø´Ù´Â Àڽۨµµ ¾øÁö ¾Ê¾Æ ÀÖ½À´Ï´Ù. Á¦°¡ ¾´ ÀÌ Ã¥ÀÇ ³»¿ëÀÌ ¸¹Àº ºÐµé²² µµ¿òÀÌ µÇ¾úÀ¸¸é ÁÁ°Ú½À´Ï´Ù. óÀ½ ³»´Â Ã¥ÀÌ¶ó °¨»çµå¸± ºÐµéÀÌ ¸¹¾Æ¼­ °¨»ç Àλ縦 ¾à°£ ±æ°Ô ³²±â°Ú½À´Ï´Ù. Á¦ÀÏ ¸ÕÀú, Àú¿¡°Ô ÀÌ·± Ã¥À» ³¾ ¼ö ÀÖ´Â ±âȸ¸¦ Á¦°øÇØÁֽðí óÀ½ ÀÌ ºÐ¾ß·Î ¹ßÀ» ³»µðµô ¶§ºÎÅÍ Áö±Ý±îÁö ¸¹Àº °¡¸£Ä§°ú Ãæ°í¸¦ ÇØÁֽðí ÁÁÀº ¼úµµ ¸¹ÀÌ ¸¹ÀÌ »çÁֽô °íÇöö ´Ô²² ±íÀº °¨»çµå¸³´Ï´Ù. Ã¥À» °¨¼öÇØÁÖ½Ã°í µð¹ö±ë ÆÄÆ®¸¦ ½áÁֽŠÀ¯Çü¸ñ ´Ô²²µµ °¨»çµå¸³´Ï´Ù. ÀÌ Ã¥À» ³¾ ¼ö ÀÖµµ·Ï ¸¹Àº µµ¿òÀ» ÁֽŠ¿ì¸® Àνñ׳Π½Ä±¸ ºÐµé²²µµ °¨»çµå¸³´Ï´Ù. ¿¾³¯ ³î°í ÀÖ´ø ´ëÇб³ 4Çг⠿©¸§ ¹æÇÐ ¶§ ÀÓº£µðµå ·Îº¿ ¾Ë¹Ù¸¦ ¼Ò°³½ÃÄÑÁֽŠÇÑ¿µ¹Î Çü´Ô²²µµ °¨»çµå¸³´Ï´Ù. óÀ½ NDK/JNI °øºÎÇÒ ¶§ °°ÀÌ ÀڷḦ ã¾ÆÁֽðí ù °­ÀǸ¦ °°ÀÌ µé¾î°¬´ø ÃÖÁ¾È¯ Çü´Ô²²µµ °¨»çµå¸³´Ï´Ù. ¸¶Áö¸·À¸·Î ¾î·Á¿î ȯ°æ¿¡¼­ µÞ¹Ù¶óÁö ÇØÁֽô ºÎ¸ð´Ô°ú µ¿»ý¿¡°Ô °¨»çÇÏ°í »ç¶ûÇÑ´Ù´Â ¸»À» ÀüÇÕ´Ï´Ù. _Àüȣö Ãßõ»ç NDK´Â ¾Èµå·ÎÀ̵忡¼­ asm/C/C++ ¶óÀ̺귯¸®¸¦ Á÷Á¢ ÀÌ¿ëÇÒ ¼ö ÀÖµµ·Ï ÇØÁÖ´Â ÅøÀÔ´Ï´Ù. µû¶ó¼­ ±âÁ¸¿¡ ¾Èµå·ÎÀ̵尡 ¾Æ´Ñ C/C++ ȯ°æ¿¡¼­ °³¹ßµÈ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¾Èµå·ÎÀ̵å·Î Æ÷ÆÃÇÒ ¶§ UI ºÎºÐÀ» ÀÚ¹Ù·Î ÀÛ¼ºÇÏ°í ÇÏ´Ü ºÎºÐÀº ±âÁ¸ ¶óÀ̺귯¸®¸¦ ±×´ë·Î ÀÌ¿ëÇÏ´Â ÇüÅÂÀÇ °³¹ßÀÌ °¡´ÉÇÕ´Ï´Ù. PDK¿Í ÇÔ²² ÀÌ¿ëÇÏ¸é ´õ Àú¼öÁØÀÇ µ¿ÀÛ±îÁö ¿øÇÏ´Â ´ë·Î Á¦¾îÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸ðµÎ ¾Æ½Ã°ÚÁö¸¸ ¾Èµå·ÎÀ̵å´Â ¸®´ª½º¸¦ ±â¹ÝÀ¸·Î ÇÏ°í ÀÖÀ¸¸ç ±× ¼Ò½º ÄÚµå ¶ÇÇÑ °ø°³µÇ¾î Àֱ⿡ NDK¿Í PDK´Â ÀÌ·¯ÇÑ ¿ÀÇ ¼Ò½ºÀÇ ÀåÁ¡ÀÌ °¡Àå Àß ¹ßÈֵǴ ºÎºÐÀ̶ó°íµµ »ý°¢ÇÕ´Ï´Ù. °Ô´Ù°¡ Çѱ¹¿¡´Â °ÔÀÓÀ» Æ÷ÇÔÇÏ¿© ±âÁ¸¿¡ C/C++·Î °³¹ßµÈ ¿ì¼öÇÑ ¾ÖÇø®ÄÉÀ̼ÇÀÌ ¸¹½À´Ï´Ù. ÀÌ·¯ÇÑ »óȲ¿¡¼­ NDK¿Í PDK¿¡ °üÇØ ÀÚ¼¼ÇÑ ³»¿ëÀ» ´Ù·ç´Â Ã¥ÀÇ ¹ß°£Àº Á¦°Ô´Â ±²ÀåÈ÷ Ưº°ÇÏ°í ±â»Û ÀÏÀÔ´Ï´Ù. ¿À·§µ¿¾È ¸®´ª½º¿Í ¿ÀÇ ¼Ò½º °ü·Ã ¾÷°è¿¡ Á¾»çÇÏ¸ç ½×Àº ÀúÀÚÀÇ °ü·ÏÀÌ ÀÌ Ã¥¿¡ Àß ³ì¾Æµé¾ú´Ù°í »ý°¢ÇÕ´Ï´Ù. ¡º¾Èµå·ÎÀ̵åÀÇ ¸ðµç °Í NDK¡»¸¦ ÅëÇؼ­ ´Ù¸¥ °÷¿¡¼­´Â »ó´ëÀûÀ¸·Î Àß ´Ù·çÁö ¾Ê´Â ¾Èµå·ÎÀ̵åÀÇ Á» ´õ ±íÀº °÷±îÁö ÀÌÇØÇÑ´Ù¸é ³²µéº¸´Ù ÇÑ¹ß ¾Õ¼­ ´õ¿í ÁÁÀº °³¹ßÀÚ·Î ¼ºÀåÇÒ ±âȸ¸¦ ÀâÀ¸¸®¶ó »ý°¢ÇÕ´Ï´Ù. _±Ç¼ø¼±, Google/KLDP
¸ñÂ÷
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 °³¹ß ȯ°æ ¼³Á¤Çϱâ
º»¹®Áß¿¡¼­
¾Èµå·ÎÀ̵å ÃÊâ±â °³¹ßÀÚµéÀº ´ëºÎºÐ PDK·Î Æ÷ÆÃÀ» Çϰųª SDK·Î ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇß½À´Ï´Ù. ÇÏÁö¸¸ PDK´Â ´Ü¸» Á¦Á¶»ç ¿Ü¿¡´Â ¼Ò½º ·¹º§¿¡ Á¢±ÙÇÏÁö ¸øÇÏ°í, SDK´Â ÀÚ¹Ù¸¸À» ÀÌ¿ëÇØ¾ß Çß½À´Ï´Ù. ±×·± ÅͶó ±âÁ¸¿¡ ÀÛ¾÷Çß´ø ¿©·¯ ¾ÖÇø®ÄÉÀ̼ǿ¡¼­ »ç¿ëÇÑ ¶óÀ̺귯¸®¿Í C/C++·Î ÀÛ¼ºµÈ ÁÁÀº ÇÁ·Î±×·¥À» È°¿ëÇÒ ¹æ¹ýÀÌ ¾ø¾ú½À´Ï´Ù. ÀÌÈÄ, ¾Èµå·ÎÀÌµå ¹öÀüÀÌ Á¶±Ý¾¿ ³ô¾ÆÁö¸é¼­ C/C++ ¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â NDK(Native Development Kit)¸¦ ±¸±Û¿¡¼­ ¸¶·ÃÇß½À´Ï´Ù. ÇÏÁö¸¸ NDKÀÇ È°¿ë ÀÚ·á´Â ¸î¸î ÀÎÅÍ³Ý ¹®¼­¿Í ¼Ò¼ö °³¹ßÀÚ°¡ °ø°³ÇÑ ¸î¸î ÇÁ·Î±×·¥ Á¤µµ»ÓÀ̾ú½À´Ï´Ù(¿¹. github.comÀÇ ÇÁ·ÎÁ§Æ®).
Àú´Â ±âÁ¸ °³¹ß ¹æ½Ä°ú ´õºÒ¾î ÃÖ±Ù »õ·Ó°Ô ³ªÅ¸³ª´Â ´Ù¾çÇÑ ±â¼úÀ» NDK¸¦ ÀÌ¿ëÇؼ­ È°¿ëÇÒ ¼ö ÀÖµµ·Ï Á¤¸®ÇÏ°íÀÚ ÀÌ Ã¥À» ½è½À´Ï´Ù.
»ç½Ç [¾Èµå·ÎÀ̵åÀÇ ¸ðµç °Í NDK]´Â [¾Èµå·ÎÀ̵åÀÇ ¸ðµç °Í ºÐ¼®°ú Æ÷ÆÃ]°ú °°Àº ½Ã±â¿¡ Ãâ°£ÇÏ·Á°í Çß½À´Ï´Ù. ±×·±µ¥ ¿©·¯ °¡Áö °³ÀÎÀûÀÎ ¹®Á¦°¡ »ý°Ü¼­ NDK´Â Æ÷±âÇÏ°í ºÐ¼®¿¡ °ü·ÃµÈ Ã¥¸¸ Ãâ°£Çß¾ú½À´Ï´Ù. ÀÌ ¶§¹®¿¡ Ã¥ÀÇ ±âȹ°ú ÆíÁýÀ» ¸Ã¾ÆÁֽŠÇѺû¹Ìµð¾î ÃâÆÇ»ç ´ã´çÀÚ¿¡°Ô °ø¿¬È÷ ºÒ¸¸ÀÇ ¼Ò¸®°¡ ÇâÇß´ø °ÍÀ¸·Î ¾Ë°í ÀÖ½À´Ï´Ù. ½ÇÁ¦·Î [¾Èµå·ÎÀ̵åÀÇ ¸ðµç °Í ºÐ¼®°ú Æ÷ÆÃ]¿¡ 'ºÐ¼®'ÀÌ ºÙ¾ú´Âµ¥, 'ÀÌ°Ô ¹¹°¡ ¸ðµç °ÍÀ̳Ä?'¶ó´Â ¹ÝÀÀµµ ÀÖ¾ú½À´Ï´Ù. »ç½Ç ±âȹÀÚ´Â '¾Èµå·ÎÀ̵åÀÇ ¸ðµç °Í'À̶õ ¿¬ÀÛ ½Ã¸®Á ±âȹÇߴµ¥, Ã¥À» ³»°Ú´Ù°í ã¾Æ°¬´ø ÀúÀÚ°¡ ¾à¼ÓÀ» ¾î°Ü¹ö·ÈÀ¸´Ï º»ÀÇ ¾Æ´Ï°Ô »ç±â(?)¸¦ Ä£ ¼ÀÀÌ µÇ¾ú½À´Ï´Ù. Àúµµ Á˼ÛÇÑ ¸¶À½¿¡, âÇÇÇÏÁö¸¸ ¾Æ¹« ¼Ò¸®µµ ¸øÇÏ°í ±×³É '¿¡¶ó ¸ð¸£°Ú´Ù, ³ªµµ ¹Ùºü¼­ Á×À» Áö°æÀε¥ ¸Ó...... (¤Ð.¤Ð)'ÇÏ°í Áö³Â½À´Ï´Ù. ±×·¯´Ù°¡ ¿ÃÇØ ÃÊ¿¡ ¿©À¯°¡ »ý±â¸é¼­ ±âÁ¸¿¡ NDK °­ÀǸ¦ ÇÏ´ø Àüȣö ¾¾¿Í ¿¹Àü¿¡ ÀÛ¾÷Çß´ø NDK °­ÀÇ ±³¾ÈÀ» ¹ÙÅÁÀ¸·Î ÀÏ¹Ý ¸ÖƼ¹Ìµð¾î ºÎºÐÀ» ÇÕÃļ­ Ãâ°£ÇßÀ¸¸é ÇÏ´Â ÀÇÇâÀ» ÃâÆǻ翡 Àü´ÞÇß½À´Ï´Ù. ´ÙÇàÈ÷ ÈçÄèÈ÷ Çã¶ôÇØÁּż­ ÀÌ Ã¥À» ÁøÇàÇÏ°Ô µÇ¾ú½À´Ï´Ù.
¿¹Àü [¾Èµå·ÎÀ̵åÀÇ ¸ðµç °Í ºÐ¼®°ú Æ÷ÆÃ]À» ÀÛ¾÷ÇÒ ¶§µµ 'Ã¥ÀÌ Ãâ°£µÇ´Â µ¿¾È ¾Èµå·ÎÀÌµå ¹öÀüÀÌ ¹Ù²î¸é ¾î¶±Çϳª, ³Ê¹« Ã¥À» ¾î·Æ°Ô ¾²Áö ¾Ê¾Ò³ª!' °ÆÁ¤À» ¸¹ÀÌ Çߴµ¥, ¾Æ´Ï³ª ´Ù¸¦±î À̹ø Ã¥À» ÁýÇÊÇÏ´Â µµÁß¿¡ Á©¸®ºó ¹öÀüÀÌ '¶±!' ³ª¿Ô½À´Ï´Ù. ÇÏÁö¸¸ ´ÙÇàÈ÷µµ PDK¿Í´Â ´Þ¸® NDK´Â ¾Èµå·ÎÀÌµå ¹öÀü¿¡ ÀÇÁ¸¼ºÀÌ ¾àÇÑ ÆíÀ̾ ¹öÀüÀÌ ¹Ù²î¾îµµ ÀÌÀü ÀÚ·á·Î ÀÛ¾÷À» ÇÏ´Â µ¥ Å« ¹®Á¦°¡ »ý±âÁö ¾Ê¾Ò½À´Ï´Ù.
ÀÌ Ã¥¿¡¼­´Â ±âº»ÀûÀÎ NDK»Ó¸¸ ¾Æ´Ï¶ó, PDK ¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇؼ­ NDK¸¦ ÀÛ¾÷ÇÏ´Â ºÎºÐ°ú ¾Èµå·ÎÀ̵åÀÇ ¸ÖƼ¹Ìµð¾î¸¦ NDK·Î ÀÛ¾÷ÇÒ ¼ö ÀÖ´Â ºÎºÐÀ» ´ã¾Ò½À´Ï´Ù. ¶Ç ¾Èµå·ÎÀ̵åÀÇ »õ·Î¿î Ư¡À» ÀÌ¿ëÇÒ ¼ö ÀÖ°Ô ÁÖÁ¦¸¦ È®ÀåÇؼ­ ÀÛ¾÷Çß½À´Ï´Ù(¿¹. OpenSL ES, OpenMAX AL µî).
ÀÌ Ã¥À» Ãâ°£ÇÔÀ¸·Î½á ¾Èµå·ÎÀ̵åÀÇ ³× °¡Áö Å« ÁÖÁ¦(¸®´ª½º Ä¿³Î, ¾Èµå·ÎÀ̵å PDK, NDK, SDK) Áß µÎ °¡Áö¸¦ Á¤¸®Çß½À´Ï´Ù. ³ª¸ÓÁö´Â Á¤¸®°¡ ÇÊ¿äÇÏÁö ¾Ê°Å³ª(SDK), ºÒ°¡´É(¸®´ª½º Ä¿³Î)Çϱ⠶§¹®¿¡ °³ÀÎÀûÀ¸·Î´Â ±âº» Á¤¸®´Â ¾î´À Á¤µµ ¸¶¹«¸®µÇ¾ú´Ù°í »ý°¢ÇÕ´Ï´Ù.
³¡À¸·Î Ã¥À» Ãâ°£ÇÒ ¶§¸¶´Ù Ç×»ó ÆíÁý, ±³Á¤À» ÇØÁֽô À¯Çü¸ñ ´Ô°ú Á¶ÈñÁø ´Ô²² °¨»çÀÇ ¸»¾¸ µå¸³´Ï´Ù.
(°íÇöö/ ÁöÀºÀÌÀÇ ¸» Áß¿¡¼­)

2008³âÂë AESOPÀÇ °íÇöö ´ÔÀ» ÅëÇØ ¾Èµå·ÎÀ̵带 óÀ½ Á¢Çß½À´Ï´Ù. ±× ´ç½Ã¿¡ °íÇöö ´ÔÀº »ï¼º 6410À» ºÙÀÎ º¸µå¿¡ ¾Èµå·ÎÀ̵带 ¿Ã·Á¼­ ¹«¾ð°¡ ÀÛ¾÷À» ÇÏ°í °è¼Ì´ø °Í °°½À´Ï´Ù. ÇÏ·ç´Â »ç¹«½Ç¿¡ ³î·¯ °£ ÀûÀÌ ÀÖ¾ú´Âµ¥ ±× µ¿¾È ¾Èµå·ÎÀ̵å Ä«¸Þ¶ó ºÎºÐÀ» ºÐ¼®ÇϽŠ³»¿ëÀ» Àú¿¡°Ô ¸¶±¸ ¸¶±¸ ¼³¸íÇØÁ̴ּø ±â¾ïÀÌ ³³´Ï´Ù. ±× ÁîÀ½ Àúµµ ¾Èµå·ÎÀÌµå °³¹ß¿¡ ù °ÉÀ½À» ³»µðµ±´ø °Í °°³×¿ä.
Æødz °°Àº ¼³¸íÀÌ Áö³ª°¡°í, Çб³ ¿¬±¸½Ç·Î µ¹¾Æ°¡¼­ °íÇöö ´ÔÀÌ º¸³»ÁØ ºÐ¼® ÀڷḦ ´Ù½Ã º¸¾Ò½À´Ï´Ù. ±×·±µ¥ ±×¶§ Ä«¸Þ¶ó ÄÚµå Áß¿¡ µµÀúÈ÷ ¾Ë ¼ö ¾ø´Â Äڵ尡 ÀÖ´õ±º¿ä. ÀÎÅͳݿ¡ °Ë»öÇصµ Àß ¾È ³ª¿À°í ±×·¡¼­ ±× ´ç½Ã¿¡´Â Á¤È®ÇÑ ¶æÀ» ¾ËÁö ¸øÇÑ Ã¤ ´ëÃæ °¨À¸·Î '¾Æ~ ¾Æ¸¶ ÀÌ ºÎºÐÀº ´ëÃæ ÀÌ·¸°Ô ¿¬°áµÉ °Í °°´Ù'ÇÏ°í ³Ñ¾î°¬½À´Ï´Ù. ±×·±µ¥ 1³âÂë µÚ¿¡ NDK¿Í JNI¸¦ °øºÎÇϸ鼭 ±× ³»¿ëÀ» ¸íÈ®ÇÏ°Ô ¾Ë°Ô µÇ¾ú½À´Ï´Ù(CameraÀÇ ÀÚ¹Ù ºÎºÐ°ú Native CameraÀÇ ¿¬°á Æ÷ÀÎÆ®¿¡ ´ëÇÑ ³»¿ëÀ̾ú½À´Ï´Ù).
±×¸®°í ÇÑÂü ½Ã°£ÀÌ Èê·¯ ´Ù´Ï´ø ´ëÇпøÀ» Àá½Ã Á¢°í °íÇöö ´ÔÀ» µû¶ó¼­ ¾Èµå·ÎÀÌµå ¸ÖƼ¹Ìµð¾î°ü·Ã ÀÏÀ» ÇÏ°Ô µÇ¾ú½À´Ï´Ù. ±×·¯´ø Â÷¿¡ ±¸±ÛÀÌ NDK¸¦ ¹èÆ÷Çß°í ³ÃÅ­ ´Ù¿î¹Þ¾Æ¼­ µ¹·Áº¸¾Ò½À´Ï´Ù. ´ç½Ã ´À³¤ ´À³¦À» ±×´ë·Î ¼³¸íÇÏÀÚ¸é '¾Æ´Ï! µµ´ëü ÀÌ°É·Î ¹¹ Ç϶ó´Â °ÅÀÓ?'ÀÌ¿´½À´Ï´Ù. Á¦ ±â¾ïÀ¸·Î´Â ÃÖÃÊ NDK¿¡´Â ´Ü¼øÈ÷ Åø üÀθ¸ µé¾îÀÖ°í ¿¹Á¦µµ ´Þ¶û µÎ °³¿´½À´Ï´Ù. ±×·¡¼­ º° ÇÊ¿ä ¾ø´Ù°í »ý°¢ÇÏ°í Á¢¾îµÎ¾ú´Âµ¥ ¸î ´ÞÀÌ Áö³­ ÈÄ¿¡¼­¾ß '¾ÆÂ÷!' ½Í¾ú½À´Ï´Ù. °°ÀÌ ÀÏÀ» µµ¿ÍÁֽôø ÃÖÁ¾È¯ ´ÔÀÌ °Ë»ö Áß¿¡ NDK¸¦ »ç¿ëÇؼ­ ÁøÇà ÁßÀÎ ¿©·¯ °¡Áö ÇÁ·ÎÁ§Æ®¸¦ ã¾Æ¼­ º¸¿©Á̴ּµ¥ NDK Åø üÀÎÀ» »ç¿ëÇؼ­ SDLÀ» ¾Èµå·ÎÀ̵忡 Æ÷ÆÃÇÑ °Í, OpenCV¸¦ Æ÷ÆÃÇÑ °Í µîÀ̾ú½À´Ï´Ù. '³­ ±×³É º°°Å ¾Æ´Ï¶ó°í »ý°¢ÇÏ°í Á¢¾ú´ø NDK¸¦ °¡Áö°í ¿Ü±¹ °³¹ßÀÚ´Â ÀÌ·¸°Ô ´Ù¾çÇÏ°Ô »ç¿ëÇÏ°í ÀÖ±¸³ª'ÇÏ´Â »ý°¢ÀÌ ¹ø¶à µé¾ú½À´Ï´Ù. ¿ª½Ã ¹» ¾Ë¾Æ¾ß ÀÌ°Ô ¶ËÀÎÁö µÈÀåÀÎÁö ÆÇ´ÜÇÏ°í ½á ¸Ô´Â´Ù´Â °ÍÀ» »õ»ï ´Ù½Ã Çѹø ±ú´Þ¾Ò½À´Ï´Ù. ±×¶§ºÎÅÍ NDK¿Í NDK¿¡ »ç¿ëµÇ´Â ÇÙ½É ±â¼úÀÎ JNI¿¡ ´ëÇؼ­ ¿©·¯ °¡Áö¸¦ Á¶»çÇÏ°í °øºÎÇß½À´Ï´Ù. ±×¸®°í µåµð¾î ÀÌ Ã¥À» ³»°Ô µÇ¾ú½À´Ï´Ù.
NDK¿¡¼­ »ç¿ëÇÏ´Â JNI´Â ¾Èµå·ÎÀ̵åÀÇ ¿ÜÇüÀÎ ÀÚ¹Ù¿Í ¾Èµå·ÎÀ̵åÀÇ ³»ºÎÀÇ C++ ³×ÀÌƼºê ¶óÀ̺귯¸®¸¦ ¿¬µ¿ÇÏ´Â µ¥ ÇÙ½ÉÀÌ µÇ´Â ±â¼úÀÔ´Ï´Ù. ¾Èµå·ÎÀ̵忡¼­ Áö¿øÇÏÁö ¾Ê´Â ±â´É(¿¹¸¦ µéÀÚ¸é DMB³ª ¸ÖƼ¹Ìµð¾î Ç÷¹À̾î/ÄÚµ¦/Æļ­ µî)À» »ç¿ëÇÏ¿© ¾ÖÇø®ÄÉÀ̼ǰú ¿¬°áÇÏ·Á¸é ¹Ýµå½Ã ÇÊ¿äÇÑ ±â¼úÀÔ´Ï´Ù. ÀüüÀûÀÎ ¾Èµå·ÎÀÌµå ±¸Á¶¸¦ ±×¸± ¶§µµ ÀÌ ºÎºÐÀ» ¾Ë¸é ÈξÀ ÀÌÇØ°¡ ºü¸¦ ¼ö ÀÖ½À´Ï´Ù. ¿Ö³ÄÇϸé NDK¸¦ ÀÌ¿ëÇÑ´Ù´Â °Í ÀÚü°¡ ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀ̼ǿ¡¼­ºÎÅÍ ³»ºÎ¿¡¼­ »ç¿ëÇÏ´Â ¶óÀ̺귯¸®±îÁöÀÇ ºÐ¼®À» ÀǹÌÇÏ´Â °ÍÀ̱⠶§¹®ÀÔ´Ï´Ù. ±×¸®°í JNI´Â ¾Èµå·ÎÀ̵忡¸¸ ±¹ÇѵÇÁö ¾Ê°í ±âÁ¸ÀÇ Àڹ٠ȯ°æ¿¡¼­µµ ¶È°°ÀÌ »ç¿ëµÇ¹Ç·Î ÀÌ°ÍÀ» ¾È´Ù´Â °ÍÀº ÈξÀ °­·ÂÇÑ ÀÚ¹Ù ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µé ¼öµµ ÀÖ´Ù´Â Àǹ̰¡ µÉ ¼öµµ ÀÖ½À´Ï´Ù.
Àú´Â ±×µ¿¾È NDK¸¦ ÁÖÁ¦·Î ´Ù·é ¸¹Àº °­ÀǸ¦ ÁøÇàÇØ¿Ô½À´Ï´Ù. °­ÀǸ¦ óÀ½ ½ÃÀÛÇÏ´ø ¶§¿Í´Â ´Þ¸® ÇöÀç´Â NDK¿¡µµ ¸¹Àº ³»¿ëÀÌ Ãß°¡µÇ¾ú°í ±¸±ÛÀÌ °ø°³ÇÑ ³»¿ë ÀÌ¿Ü¿¡ ¸¹Àº ±âÃÊ ÀÚ·áµµ º¸°­ÇÑ »óÅ¿¡¼­ ±× °­ÀÇ¿¡ »ç¿ëÇÏ´ø ÀڷḦ Çѵ¥ ¸ð¾Æ ÀÌ Ã¥À» ³»°Ô µÇ¾ú½À´Ï´Ù. ÀÌ Ã¥À» ¾²´ø ½ÃÁ¡ÀÌ ÁøÀúºê·¹µå¿¡¼­ ¾ÆÀ̽ºÅ©¸² »÷µåÀ§Ä¡·Î ³Ñ¾î°¡´Â ½ÃÁ¡À̾ ¸¹Àº ³»¿ëÀ» ´Ù½Ã ¾²°í º´ÇàÇØ ´ã±âµµ ÇÏ¿´½À´Ï´Ù. ±×¸®°í Surface¸¦ »ç¿ëÇÏ´Â ºÎºÐÀº ÁøÀúºê·¹µå¿¡¼­ ¾ÆÀ̽ºÅ©¸² »÷µåÀ§Ä¡·Î ³Ñ¾î°¡¸é¼­ °ÅÀÇ ´ëºÎºÐÀÇ Äڵ尡 º¯°æµÇ¾ú±â¿¡, ¸¹ÀÌ ¼öÁ¤ÇÏ°í »õ·Ó°Ô ¸¸µå´À¶ó °í»ýÇß½À´Ï´Ù. ƯÈ÷ ÀÌ ºÎºÐÀº ¾Èµå·ÎÀÌµå ³×ÀÌƼºê¿¡¼­ Surface¸¦ È°¿ëÇϱ⸦ ¿øÇϽô ºÐµé¿¡°Ô ¸¹Àº µµ¿òÀÌ µÉ °Å¶ó°í ÀÚºÎÇÕ´Ï´Ù. ¶ÇÇÑ ´Ù¸¥ Ã¥¿¡¼­´Â º¼ ¼ö ¾ø´Â ¸ÖƼ¹Ìµð¾î ±â´É¿¡ ´ëÇÑ ³»¿ëµµ Àֱ⠶§¹®¿¡ °ü·Ã Áö½ÄÀÌ Á¶±Ý ÀÖÀ¸½Å ºÐµé¿¡°Ô ¸¹Àº µµ¿òÀÌ µÇ¸®¶ó »ý°¢ÇÕ´Ï´Ù. ȸ»ç ÀÏÀ» Çϸ鼭 Ã¥µµ ¾²´Â ¹Ù¶÷¿¡ ½Ã°£ÀÌ ¸¹ÀÌ µé±âµµ ÇßÁö¸¸ ¿À·£ ±â°£ ½è±â ¶§¹®¿¡ ´õ ¸¹Àº ³»¿ëÀ» ´ãÀ» ¼öµµ ÀÖ¾ú½À´Ï´Ù. óÀ½ ³»´Â Ã¥ÀÌ¶ó ¸·»ó Ã¥ÀÌ ³ª¿Ã ½ÃÁ¡ÀÌ µÇ´Ï µÎ·Á¿òÀÌ ¸¹ÀÌ ¾Õ¼·´Ï´Ù. Ȥ½Ã³ª Ã¥ÀÌ ³ª¿Â ÈÄ ³»¿ëÀÌ ºÎ½ÇÇÏ´Ù°í ¿å¸ÔÁö´Â ¾ÊÀ»Áö ÇÏ´Â °ÆÁ¤µµ µì´Ï´Ù. ÇÏÁö¸¸ ÇÑÆíÀ¸·Î´Â ½ÃÁß¿¡ ³ª¿Í ÀÖ´Â NDK/JNI °ü·ÃµÈ Ã¥ Áß¿¡ Á¦ Ã¥º¸´Ù À¯¿ëÇÑ ÀÚ·á¿Í Äڵ尡 ¸¹Àº °ÍÀº ¾ø´Ù´Â Àڽۨµµ ¾øÁö ¾Ê¾Æ ÀÖ½À´Ï´Ù. Á¦°¡ ¾´ ÀÌ Ã¥ÀÇ ³»¿ëÀÌ ¸¹Àº ºÐµé²² µµ¿òÀÌ µÇ¾úÀ¸¸é ÁÁ°Ú½À´Ï´Ù.

óÀ½ ³»´Â Ã¥ÀÌ¶ó °¨»çµå¸± ºÐµéÀÌ ¸¹¾Æ¼­ °¨»ç Àλ縦 ¾à°£ ±æ°Ô ³²±â°Ú½À´Ï´Ù.
Á¦ÀÏ ¸ÕÀú, Àú¿¡°Ô ÀÌ·± Ã¥À» ³¾ ¼ö ÀÖ´Â ±âȸ¸¦ Á¦°øÇØÁֽðí óÀ½ ÀÌ ºÐ¾ß·Î ¹ßÀ» ³»µðµô ¶§ºÎÅÍ Áö±Ý±îÁö ¸¹Àº °¡¸£Ä§°ú Ãæ°í¸¦ ÇØÁֽðí ÁÁÀº ¼úµµ ¸¹ÀÌ ¸¹ÀÌ »çÁֽô °íÇöö ´Ô²² ±íÀº °¨»çµå¸³´Ï´Ù. Ã¥À» °¨¼öÇØÁÖ½Ã°í µð¹ö±ë ÆÄÆ®¸¦ ½áÁֽŠÀ¯Çü¸ñ ´Ô²²µµ °¨»çµå¸³´Ï´Ù. ÀÌ Ã¥À» ³¾ ¼ö ÀÖµµ·Ï ¸¹Àº µµ¿òÀ» ÁֽŠ¿ì¸® Àνñ׳Π½Ä±¸ ºÐµé²²µµ °¨»çµå¸³´Ï´Ù. ¿¾³¯ ³î°í ÀÖ´ø ´ëÇб³ 4Çг⠿©¸§ ¹æÇÐ ¶§ ÀÓº£µðµå ·Îº¿ ¾Ë¹Ù¸¦ ¼Ò°³½ÃÄÑÁֽŠÇÑ¿µ¹Î Çü´Ô²²µµ °¨»çµå¸³´Ï´Ù. óÀ½ NDK/JNI °øºÎÇÒ ¶§ °°ÀÌ ÀڷḦ ã¾ÆÁֽðí ù °­ÀǸ¦ °°ÀÌ µé¾î°¬´ø ÃÖÁ¾È¯ Çü´Ô²²µµ °¨»çµå¸³´Ï´Ù. ¸¶Áö¸·À¸·Î ¾î·Á¿î ȯ°æ¿¡¼­ µÞ¹Ù¶óÁö ÇØÁֽô ºÎ¸ð´Ô°ú µ¿»ý¿¡°Ô °¨»çÇÏ°í »ç¶ûÇÑ´Ù´Â ¸»À» ÀüÇÕ´Ï´Ù.
(Àüȣö/ ÁöÀºÀÌÀÇ ¸» Áß¿¡¼­)
µµ¼­¸¦ ±¸ÀÔÇϽŠ°í°´ ¿©·¯ºÐµéÀÇ ¼­ÆòÀÔ´Ï´Ù.
ÀÚÀ¯·Î¿î ÀÇ°ß ±³È¯ÀÌ °¡´ÉÇÕ´Ï´Ù¸¸, ¼­ÆòÀÇ ¼º°Ý¿¡ ¸ÂÁö ¾Ê´Â ±ÛÀº »èÁ¦µÉ ¼ö ÀÖ½À´Ï´Ù.

µî·ÏµÈ ¼­ÆòÁß ºÐ¾ß¿Í »ó°ü¾øÀÌ ¸ÅÁÖ ¸ñ¿äÀÏ 5ÆíÀÇ ¿ì¼öÀÛÀ» ¼±Á¤ÇÏ¿©, S-Money 3¸¸¿øÀ» Àû¸³Çص帳´Ï´Ù.
ÃÑ 0°³ÀÇ ¼­ÆòÀÌ ÀÖ½À´Ï´Ù.