Á°²ó¤Î¥¨¥ó¥È¥ê¡¼¤Î
¡ü¹âÅ٤ʥǥХå°ÊýË¡
ÁȤ߹þ¤ß¥×¥ì¥¹Vol.16¤Ë¤è¤¯¤Þ¤È¤Þ¤Ã¤Æ¤ª¤ê¤Þ¤¹¤Î¤Ç¡¢¤³¤Á¤é¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¤ò¡¢Android NDK¡õWindows¸þ¤±¤Ë²òÀ⤷¤Æ¤¯¤ì¡¢¤È¤ÎÍ×˾¤¬¤¢¤ê¤Þ¤·¤¿¤Î¤Ç¡¢ºî¤Ã¤Æ¤ß¤Þ¤·¤¿¡£
¾ÜºÙ¤Ï¡¢¾åµ¤ÎÁȤ߹þ¤ß¥×¥ì¥¹Vol.16¤ò³Îǧ¤·¤Æ¤¤¤¿¤À¤¯¤È¤·¤Æ¡¢¤½¤Îº¹Ê¬¤ò·ÇºÜ¤µ¤»¤Æ¤¤¤¿¤À¤¤Þ¤¹¡£
(¤È¤Ï¸À¤Ã¤Æ¤â¡¢¤³¤Î¥¨¥ó¥È¥ê¡¼¤À¤±¤â¹½ÃۤϤǤ¤ë¤È»×¤¤¤Þ¤¹¤¬¡¢²¿¤ò¤ä¤Ã¤Æ¤¤¤ë¤«¤Î¾ÜºÙ¤ÏËܽñ¤ò¤´³Îǧ¤¯¤À¤µ¤¤¡£¡£)
¡üAndroid.mk¤Ç¼Â¹Ô¥Õ¥¡¥¤¥ë¤òºî¤ë
¤Þ¤º¡¢¥Ç¥Ð¥Ã¥°¤¹¤ë¤¿¤á¤Ë¼Â¹Ô¥Õ¥¡¥¤¥ë¤òºî¤é¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
shared¥é¥¤¥Ö¥é¥ê¤Î¤Þ¤Þ¤Ç¤Ï¡¢¼Â¹Ô½ÐÍè¤Þ¤»¤ó¤«¤é¤Í¡£
Android¾å¤Ç¼Â¹Ô²Äǽ¤Ê¥Õ¥¡¥¤¥ë¤Ï¡¢Android.mk¤ÇºîÀ®²Äǽ¤Ç¤¹¡£
¶ñÂÎŪ¤Ë¤Ï¡¢main´Ø¿ô¤òºîÀ®¤Î¾å¡¢Android.mkÆâ¤ò²¼µ¤Î¤è¤¦¤ËÊѹ¹¤¹¤ë¤À¤±¤Ç¤¹¡£
include $(BUILD_SHARED_LIBRARY) ¢Í include $(BUILD_EXECUTABLE)
¡üEclipse CDT¤ò½àÈ÷¤¹¤ë
Eclipse CDT¤«¤é¡¢¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£
Android¤Î³«È¯ÍÑEclipse ¤Ë¡¢Äɲ夥󥹥ȡ¼¥ë¤·¤Æ¤âÌäÂꤢ¤ê¤Þ¤»¤ó¤¬¡¢¥×¥é¥°¥¤¥ó¤òÁý¤ä¤¹¤È¤É¤ó¤É¤ó¤ÈEclipse¤¬½Å¤¯¤Ê¤Ã¤Æ¤¤¤¤Þ¤¹¤Î¤Ç¡¢Ê̤ËÍѰդ¹¤ë¤Î¤â¼ê¤Ç¤¹¡£
¡üCygwin¤Î½àÈ÷¤òÀ°¤¨¤ë
Android NDK¤¬¥¤¥ó¥¹¥È¡¼¥ëºÑ¤ß¤Ç¤¢¤ì¤Ð¡¢²¼µ¤Îºî¶È¤ò¤¹¤ë¤À¤±¤Ç¤¹¡£
¡¦C:\cygwin\bin\cygwin1.dll ¤ò C:\Windows\System32 ¤Ë¥³¥Ô¡¼¤¹¤ë
¡¦C:\cygwin\bin¤ò¡¢Windows ¤Î´Ä¶ÊÑ¿ô PATH ¤Ë´Þ¤á¤ë
¡üDefault Launcher¤òÀßÄꤹ¤ë
²¼µ¤ÎÄ̤ê¤Ë¥á¥Ë¥å¡¼¤òÄɤäơ¢Êѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£
Window
Preferences
Run/Debug
Launching
Default Lanchers
Æâ¤Î
C/C++ Application [Debug]
Preferred Launcher
¤ò¡¢
Standard Create Process Launcher
¤Ë¤¹¤ë

¡ü¥³¥ó¥Ñ¥¤¥ëÍÑ¥¹¥¯¥ê¥×¥È¤òÀßÄꤹ¤ë
¡¦¡Öbuild.bat¡×¤òºîÀ®¤¹¤ë
¤¿¤À¤¿¤ó¤Ë¡¢make¤·¤¿¤À¤±¤Ç¤Ï¡¢Android NDK¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤³¤È¤Ï½ÐÍè¤Þ¤»¤ó¡£Android NDK¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤·¤¿¾å¤Ç¡¢make¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¤½¤³¤Ç¡¢¤½¤ì¤ò¹Ô¤¦¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Þ¤¹¡£
º£²ó¤Ï¡¢¡Öbuild.bat¡×¤È¤¤¤¦Ì¾Á°¤ÇºîÀ®¤·¤Þ¤¹¡£
set PROG=%1
cd [Android NDK¤Ø¤Îpath]
make APP=%PROG%
¡¦¡Öbuild.bat¡×¤òEclipse¤ËÀßÄꤹ¤ë
²¼µ¤ÎÄ̤ê¤Ë¥á¥Ë¥å¡¼¤òÄɤäơ¢Êѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£
Project
Properties
C/C++ Build
Æâ¤Î
Builder Settings¥¿¥Ö
Build command
¤ËÆÈ¼«¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë¡Öbuild.bat¡×¤ò»ØÄꤹ¤ë¡£

¡Öbuild.bat¡×¤Ï¡¢°ú¿ô¤È¤·¤Æ¡¢Android.mk¤Î¥â¥¸¥å¡¼¥ë̾¤òÍ׵ᤷ¤Þ¤¹¤Î¤Ç¡¢¤½¤ì¤ò»ØÄꤷ¤Þ¤¹¡£
Behaviour¥¿¥Ö
Build on resource save(Auto Build)
Build(Incremental build)
¤Ë¡¢Android.mk¤Î¥â¥¸¥å¡¼¥ë̾¤òÆþÎϤ¹¤ë¡£
¢¨¤³¤³¤Ç¤Ï¡¢¡ÖecTest¡×¤È¤·¤Æ¤¢¤ê¤Þ¤¹¡£

¡üAndroid NDKÍѤÎInclude¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë
Íפϡ¢bionic¤ÎInclude¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£
Project
Properties
C/C++ General
Paths and Symbols
Æâ¤Î
Includes
¤Ë¡¢Android NDKÍѤÎInclude¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò¡Ö¤½¤ì¤¾¤ì¡×»ØÄꤷ¤Þ¤¹¡£
android-ndk-x.x\build\platforms\android-1.5\arch-arm\usr\include
android-ndk-x.x\build\platforms\android-1.5\common\include
¤òÄɲá£
Add to all configurations
Add to all languages
Is a workspace path
¤Ï¡¢É¬Íפ˱þ¤¸¤Æ¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£
°ÕÌ£¤¬¤ï¤«¤é¤Ê¤¤¤Ê¤é¡¢ÉÕ¤±¤Æ¤·¤Þ¤¤¤Þ¤·¤ç¤¦¡£

¡ü¼Â¹ÔÍÑ¥¹¥¯¥ê¥×¥È¤òÀßÄꤹ¤ë
¡¦¡Ölaunch.bat¡×¤òºîÀ®¤¹¤ë
Android NDK¤ÇºîÀ®¤·¤¿¼Â¹Ô¥Õ¥¡¥¤¥ë¤òAndroid¥¨¥ß¥å¥ì¡¼¥¿¤ä¼Âµ¡¤Çưºî¤µ¤»¤ë¤Ë¤Ï¡¢¤Á¤ç¤Ã¤È¤·¤¿»Å³Ý¤±¤¬É¬ÍפǤ¹¡£
¤½¤³¤Ç¡¢¼Â¹ÔÍѤΥ¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Þ¤¹¡£
set PROG=%1
cd [Android NDK¤Ø¤Îpath]
adb push [Android NDK¤Ø¤Îpath]\out\apps\%PROG%\android-1.5-arm\%PROG% /data
adb shell chmod 777 /data/%PROG%
adb shell /data/%PROG% "$@"
¢¨ /data ¤Ï¡¢Android¾å¤Î¥Ç¥£¥ì¥¯¥È¥ê¤È¤Ê¤ê¤Þ¤¹¡£É¬Íפ˱þ¤¸¤ÆÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£
¢¨ Android¥¨¥ß¥å¥ì¡¼¥¿¤ä¼Âµ¡¤¬Àܳ¤µ¤ì¤Æ¤¤¤Ê¤¤¤È¡¢»ÈÍѽÐÍè¤Þ¤»¤ó¡£
¡¦¡Ölaunch.bat¡×¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë¡¢Eclipse¤òÀßÄꤹ¤ë
²¼µ¤ÎÄ̤ê¤Ë¥á¥Ë¥å¡¼¤òÄɤäơ¢Êѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£
Run
External Tools
External Tools Configurations
ÁªÂò¤·¤Þ¤¹¡£
Program
¤Ë¿·µ¬Äɲä·¤Þ¤¹¡£
ÆÈ¼«¥¹¥¯¥ê¥×¥È¡Ölaunch.bat¡×¤òÄɲä·¤Þ¤¹¡£
Arguments
¤Ë¡¢Android.mk¤Î¥â¥¸¥å¡¼¥ë̾¤òÆþÎϤ·¤Þ¤¹¡£

¡ü¥Ç¥Ð¥Ã¥°ÍÑ¥¹¥¯¥ê¥×¥È¤òÀßÄꤹ¤ë
¡¦¡Öprepare.bat¡×¤òºîÀ®¤¹¤ë
¥Ç¥Ð¥Ã¥°¤ò¹Ô¤¦¤Ë¤Ï¡¢gdbserver ¤òµ¯Æ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¤½¤³¤Ç¡¢¤½¤ì¤ò¼«Æ°Åª¤Ë¹Ô¤¦¤¿¤á¤Î¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Þ¤¹¡£
set PROG=%1
cd [Android NDK¤Ø¤Îpath]
adb push [Android NDK¤Ø¤Îpath]\out\apps\%PROG%\android-1.5-arm\%PROG% /data
adb shell chmod 777 /data/%PROG%
adb forward tcp:5039 tcp:5039
adb shell gdbserver tcp:5039 /data/%PROG% "$@"
¢¨ /data ¤Ï¡¢Android¾å¤Î¥Ç¥£¥ì¥¯¥È¥ê¤È¤Ê¤ê¤Þ¤¹¡£É¬Íפ˱þ¤¸¤ÆÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£
¢¨ 5039¥Ý¡¼¥È¤Ï¡¢ÂÔ¤Á¼õ¤±¥Ý¡¼¥È¤È¤Ê¤ê¤Þ¤¹¡£É¬Íפ˱þ¤¸¤ÆÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£
¢¨ Android¥¨¥ß¥å¥ì¡¼¥¿¤ä¼Âµ¡¤¬Àܳ¤µ¤ì¤Æ¤¤¤Ê¤¤¤È¡¢»ÈÍѽÐÍè¤Þ¤»¤ó¡£
¡¦¡Öprepare.bat¡×¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë¡¢Eclipse¤òÀßÄꤹ¤ë
²¼µ¤ÎÄ̤ê¤Ë¥á¥Ë¥å¡¼¤òÄɤäơ¢Êѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£
Run
External Tools
External Tools Configurations
ÁªÂò¤·¤Þ¤¹¡£
Program
¤Ë¿·µ¬Äɲä·¤Þ¤¹¡£
ÆÈ¼«¥¹¥¯¥ê¥×¥È¡Öprepare.bat¡×¤òÄɲä·¤Þ¤¹¡£
Arguments
¤Ë¡¢Android.mk¤Î¥â¥¸¥å¡¼¥ë̾¤òÆþÎϤ·¤Þ¤¹¡£

¡ügdbserver¤òÀßÄꤹ¤ë
Eclipse¤¬ÍøÍѤ¹¤ë¥Ç¥Ð¥Ã¥¬¤È¤·¤Æ¡¢gdbserver¤òÍøÍѤ¹¤ë¤¿¤á¤ÎÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£
¥¿¥Ö¤¬²¿¸Ä¤«¥Í¥¹¥È¤·¤Æ¤ª¤ê¤Þ¤¹¤Î¤Ç¡¢¤ï¤«¤ê¤Ë¤¯¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢¤¬¤ó¤Ð¤Ã¤ÆÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
¡¦main¤ÎÀßÄê
Run
Run Configurations
¤òÁªÂò¤·¤Þ¤¹¡£
C/C++ Application
¤Ë¿·µ¬Äɲä·¤Þ¤¹¡£
Main¥¿¥Ö
C/C++ Application
¤Ë¡Ö[Android NDK¤Ø¤Îpath]\out\apps\[Android NDK¥â¥¸¥å¡¼¥ë̾]\android-1.5-arm\[Android NDK¥â¥¸¥å¡¼¥ë̾]¡×¤òÄɲä·¤Þ¤¹¡£

¡¦Debugger¤ÎÀßÄê
Debugger¥¿¥Ö
Debugger
¤ÎÀßÄê¤ò
gdbserver Debugger
¤ËÊѹ¹¤·¤Þ¤¹¡£
Dubugger Options
¤Î
GDB debugger
¤Ë¡Ö[Android NDK¤Ø¤Îpath]\build\prebuilt\windows\arm-eabi-4.2.1\bin\arm-eabi-gdb.exe¡×¤òÄɲä·¤Þ¤¹¡£

¡¦Shared Libraries¤ÎÀßÄê
Shared Libraries¥¿¥Ö
¤Ë¡Ö[Android NDK¤Ø¤Îpath]\out\apps\[Android NDK¥â¥¸¥å¡¼¥ë̾]\android-1.5-arm¡×¤òÄɲä·¤Þ¤¹¡£

¡¦Connection¤ÎÀßÄê
Connection¥¿¥Ö
Type
¤ÎÀßÄê¤ò
TCP
¤ËÊѹ¹¤·¤Þ¤¹¡£
Port number
¤ÎÀßÄê¤ò
5039
¤ËÊѹ¹¤·¤Þ¤¹¡£

¡ü¥Ç¥Ð¥Ã¥°ÍÑ¥¹¥¯¥ê¥×¥È¤òEclise¤Ç¼Â¹Ô²Äǽ¤Ê¤è¤¦¤ËÀßÄꤹ¤ë
¤¤¤Þ¤Þ¤Çºî¤Ã¤Æ¤¤¿³Æ¼ï¼Â¹ÔÍÑ¥¹¥¯¥ê¥×¥È¤òEclipse¤«¤é¼Â¹Ô½ÐÍè¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¡¦Eclipse¤Î¥¹¥¯¥ê¥×¥ÈÀßÄê²èÌ̤ò³«¤¯
Run
Run Configurations
ÁªÂò¤·¤Þ¤¹¡£
Launch Group
¤Ë¡¢¸å½Ò¤¹¤ë2¤Ä¤Î¥â¥Î¤ò¿·µ¬Äɲä·¤Þ¤¹¡£
¡¦¼Â¹ÔÍÑLaunch Group¤òÅÐÏ¿¤¹¤ë
[EclipseÍѼ¹ÔÍÑ¥¹¥¯¥ê¥×¥È] mode:run
¤ò¿·µ¬Äɲä·¤Þ¤¹¡£

¡¦¥Ç¥Ð¥Ã¥°ÍÑLaunch Group¤òÅÐÏ¿¤¹¤ë
[EclipseÍѥǥХå°ÍÑ¥¹¥¯¥ê¥×¥È] mode:run
[EclipseÍÑGDBÀßÄê] mode:debug
¤ò¿·µ¬Äɲä·¤Þ¤¹¡£

¡üµ¯Æ°
¤³¤ì¤Ç¡¢¤¢¤È¤Ï¡¢Android¤Î¥¨¥ß¥å¥ì¡¼¥¿¤Ê¤ê¡¢¼Âµ¡¤Ê¤ê¤òµ¯Æ°¤·¤Æ¡¢¼Â¹Ô¤¹¤ì¤ÐOK¤Ç¤¹¡£
²¼µ¤Î¤è¤¦¤Ë¡¢main´Ø¿ô¤ÇÄä»ß¤·¤¿¾õÂ֤ǵ¯Æ°¤·¤Þ¤¹¡£
