±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚSkyؼÇå,ÎÄÕÂÖ÷Òª½²½âµÄÊÇÓ¦ÓÃÉ豸ÔËÐÐ(Running)ÒÔ¼°µ÷ÊÔ·½·¨(Debugging)¡£ |
|
(Ò»)ǰÑÔ
Ç°ÃæÎÒÃÇÒѾ¶ÔReact NativeµÄ»·¾³´î½¨ÒÔ¼°¿ª·¢µÄIDE×öÁËÏà¹ØµÄ½²½â£¬½ñÌìÎÒÃǵÄÖ÷Òª½²½âµÄÊÇÓ¦ÓÃÉ豸ÔËÐÐ(Running)ÒÔ¼°µ÷ÊÔ·½·¨(Debugging)¡£±¾½ÚµÄǰÌáÌõ¼þ¾ÍÊÇ´ó¼ÒÒѾ´î½¨ÁËReact NativeµÄÏà¹Ø»·¾³¡£
(¶þ)´´½¨React NativeÏîÄ¿
ÐèÒªÔËÐк͵÷ÊÔÓ¦Óã¬Ê×ÏÈÎÒÃÇÐèҪʹÓÃreact-native init xxprojectÀ´´´½¨Ò»¸öÏîÄ¿£¬Õâ¸ö²½ÖèËäÈ»ÔÚ֮ǰÎÒÃÇÒѾ½²¹ýÁË£¬²»¹ýÕâ±ßÔÚÑÝʾһÏ¡£
2.1.ÃüÁîÐÐÔËÐÐ:react-native init TestOne
[×¢].¸ÃÃüÁî´´½¨ÏîĿʱ¼äÓÐʱºò»á±È½ÏºÄʱ£¬Ò»°ã¼¸·ÖÖÓ°É£¬ÇëÄÍÐĵȴý!ÔËÐÐÈÕÖ¾½ØÍ¼ÈçÏÂ:

2.2.ÔÚÏàӦĿ¼Éú³ÉÏîÄ¿£¬ÏîÄ¿µÄĿ¼»ú¹¹ÈçÏÂ:

2.3.×îºóÎÒÃÇͨ¹ýIDEÒýÈë¸ÃÏîÄ¿(Atom»òÕßWebStorm)£¬½øÐбàд´úÂë¼´¿É¡£
(Èý)Ó¦ÓÃÉ豸ÔËÐÐ(Running)
[×¢Òâ].Èç¹ûÄãÐèÒªÓ¦ÓÃÔËÐÐÔÚÕæ»úÉ豸ÖУ¬ÄÇôÎÒÃÇÊ×ÏÈÉ豸Ҫ¿ªÆôUSBµ÷ÊÔģʽ¡£¾ßÌåÕæ»úÔõôÑù´ò¿ªUSBµ÷ÊÔģʽ£¬Çë°Ù¶È¹þ(µã»÷´ò¿ªUSBµ÷ÊÔģʽ http://itfish.net/article/53887.html)
Õæ»ú´ò¿ªUSBµ÷ÊÔģʽ֮ºó£¬È»ºóÁ¬½ÓµçÄÔ£¬ÃüÁîÐÐadb devices¿ÉÒԲ鿴µ±Ç°µÄÉ豸ÁбíÐÅÏ¢£¬²»¹ýÎÒÏÖÔÚµçÄÔûÓÐÁ¬½ÓÕæ»ú£¬ËùÓÐÖ»ÓлáÏÔʾģÄâÆ÷ÐÅÏ¢ÁË¡£

ÏÖÔÚ´ó¼Ò¿ÉÒÔ¿´µ½Àï±ßÓÐһ̨É豸ÒѾÁ¬½ÓÁË£¬²»¹ýÈç¹ûÎÒÃÇÐèÒªÔËÐÐÓ¦Óõϰ£¬ÄÇÎÒÃDZØÐëÈ·±£µ±Ç°Ö»ÓÐһ̨É豸ÒѾÁ¬½Ó¼´¿ÉÁË¡£½ÓÏÂÀ´ÎÒÃÇÃüÁîÐÐÔËÐÐÒÔÏÂÃüÁî:

½ÓמÍÊÇ¿ªÊ¼±àÒë´úÂ룬ȻºóÔËÐгÌÐòµ½É豸ÖÐÁË¡£
[×¢Òâ]
ÔÚÕæ»úÉÏÔËÐÐʱ¿ÉÄÜ»áÓöµ½°×ÆÁµÄÇé¿ö£¬ÇëÕÒµ½²¢¿ªÆôÐü¸¡´°È¨ÏÞ¡£±ÈÈçСÃ×ϵͳÉèÖÃ(http://itfish.net/article/53887.html)
3.1.´ÓÉ豸ÉÏÃæ·ÃÎÊʵʱ·þÎñÆ÷Êý¾Ý(Õâ±ß·þÎñÆ÷Ö¸±¾µØ´úÂë)
µ±ÎÒÃÇÆô¶¯¿ª·¢·þÎñµÄÇé¿öÏ£¬ÎÒÃÇ¿ÉÒÔͨ¹ýÒÔÏÂÁ½ÖÖ·½·¨À´¸üÐÂÔ¶³Ì´úÂëÀ´¿ìËٵĸüÐÂÐÞ¸ÄÎÒÃǵÄÓ¦ÓÃ
[×¢Òâ]ÏÖÔںܶàAndroidÉ豸ÒÔ¼°ÄǸöÈ¥³ýÁËMenu°´¼üÁË£¬ÕâʱºòÎÒÃÇ¿ÉÒÔͨ¹ýÒ¡»ÎÉ豸À´½øÐдò¿ª²Ëµ¥,È»ºóÍê³ÉÓ¦ÓõÄÖØÐ¼ÓÔØ£¬µ÷ÊÔÒÔ¼°ÆäËû¹¦ÄÜ¡£
- Android 5.0ÒÔÉϼ°¸ü¸ß°æ±¾£¬¿ÉÒÔʹÓÃadb reverseÃüÁî
Ê×ÏÈÄãµÄÉ豸Á¬½ÓµçÄÔ£¬È»ºó´ò¿ªUSBµ÷ÊÔģʽ¡£½Ó×ÅÃüÁîÐÐÔËÐÐ
adb reverse tcp:8081 tcp:8080 |
È»ºóÎÒÃǾͿÉÒÔʹÓÃReload JSºÍÆäËûµÄ¿ª·¢Ñ¡ÏîÁË¡£
- Android ÒÔϰ汾¿ÉÒÔͨ¹ýWifiÁ¬½Ó
¢Ù.ÊÖ»úºÍµçÄÔUSBÁ¬½Ó²¢ÇÒµçÄÔºÍÊÖ»úÉ豸ÔÚͬһ¸öWifiÍøÂç»·¾³ÏÂ
¢Ú.²ÉÓÃreact-native run-androidÔËÐÐÓ¦Óá£
¢Û.ÏÖÔڻᷢÏÖÆÁÄ»ÊÇ"ºìÉ«"£¬¼ÌÐøÏÂÃæµÄ²½Öè½øÐнâ¾ö,½ØÍ¼ÈçÏÂ:

¢Ü.Ò¡»ÎÉ豸»òÕßÃüÁîÐÐÊäÈëadb sell input keyevent 82£¬´ò¿ª¿ª·¢Õ߲˵¥£¬ÈçÏÂЧ¹û:

¢Ý.µã»÷Dev Settings½øÈ룬ȻºóÑ¡ÔñDebug server host& port for device
¢Þ.ÊäÈëµçÄÔµÄIPµØÖ·ºÍ¶Ë¿ÚºÅ(Ö÷Òª²é¿´µçÄÔµÄIPµØÖ·Å¶,£¬Õâ±ßÓÃÎÒÕâ±ßµÄIPµØÖ·ºÍ¶Ë¿Ú£¬¾ßÌåÒª¸ù¾Ýʵ¼ÊÇé¿öŶ)£¬½ØÍ¼ÈçÏ£º

¢ß.»Øµ½¿ª·¢Õ߲˵¥£¬È»ºóÑ¡Ôñµã»÷Reload JS¡£ÖØÐ¼ÓÔØÒÔϼ´¿É¡£

(ËÄ)Ó¦Óõ÷ÊÔ(Debugging)-Õë¶ÔAndroidÓ¦ÓÃÉ豸
4.1.·ÃÎÊÓ¦ÓÃÄÚ¿ª·¢Õ߲˵¥
AndroidÉ豸ÎÒÃÇ¿ÉÒÔÒ¡»Î»òÕßµã»÷²Ëµ¥¼ü(²»¹ýÏÖÔںܶàÊÖ»úÒѾûÓÐÕâ¸öÄ£Äâ°´¼üÁË)¡£Èç¹ûÄãʹÓõÄÊÇgenymotionÄ£ÄâÆ÷£¬Äã¿ÉÒÔ´ò¿ªÓ¦Óã¬È»ºó·¢ÏÖÆÁÄ»ÓÒÏ·½ÓÐÒ»¸ö¼ýÍ·£¬µã»÷È»ºóµã»÷²Ëµ¥Í¼±ê¼´¿É¡£½ØÍ¼ÈçÏÂ:


[×¢Òâ]Èç¹ûÎÒÃǵÄAPPÕýʽ·¢²¼µÄ»°(Release°æ±¾)¡£Ä¬ÈÏÇé¿öÏÂÎÒÃDzÉÓÃgradleµÄassembleReleaseÀ´½øÐй¹½¨¼´¿É¡£»òÕßͨ¹ý´úÂëReactInstanceManagerµÄsetUseDeveloperSupport·½·¨À´½øÐÐÉèÖÃÊÇ·ñ¿ªÆôµ÷ÊÔÖ§³Ö¡£
4.2.Ó¦ÓÃË¢ÐÂ
Õý³£Çé¿öÏ£¬Èç¹ûÎÒÃÇÖ»ÊÇÐÞ¸ÄÓ¦ÓõÄJS´úÂëµÄ»°£¬ÄÇôÎÒÃÇ¿ÉÒÔÖ±½Óµã»÷Reload JSÑ¡Ôñʵʱˢм´¿É¡£µ«ÊÇÈç¹ûÎÒÃÇÐÞ¸ÄAndroidÏîÄ¿ÖеÄ×ÊÔ´Îļþ(ÀýÈçres/drawableÎļþÖÐͼƬ)»òÕßÐÞ¸ÄAndroidµÄÔ´´úÂ룬ÄÇô¾ÍÐèÒªÖØÐ±àÒëÉú³ÉÓ¦ÓòſÉÒÔÉúЧ¡£
4.3.Chrome¿ª·¢µ÷ÊÔ¹¤¾ß
¿ª·¢µÄÓ¦ÓýøÐе÷ÊÔµÄʱºò£¬ÎÒÃÇ¿ÉÒÔʹÓÃChromeÀ´µ÷ÊÔjs´úÂ룬µã»÷¿ª·¢²Ëµ¥ÖеÄDebugin Chrome¡£È»ºó»á´ò¿ªÒ»¸öÍøÒ³:http://localhost:8081/debugger-ui ½çÃæ½ØÍ¼ÈçÏÂ:

²»¹ýµÚÒ»´Î´ò¿ªÐèÒª°²×°ReactDevTools(×îºÃ·Ç½Ò»ÏÂ)¡£
°²×°·½·¨½Ì³Ì:
http://facebook.github.io/react/blog/2015/09/02/new-react-developer-tools.html
ChromeÌí¼Ó¿ª·¢µ÷ÊÔ²å¼þ:

°²×°Íê²å¼þ£¬»ØÍ˵½ÔÀ´µÄ½çÃæ£¬È»ºóË¢ÐÂһϼ´¿É:

ÈçºÎ´ò¿ª¿ª·¢Õß¹¤¾ß:
Ïë±Ø×ö¹ýWebǰ¶Ë¿ª·¢µÄÈ˶¼ÖªµÀ£ºChromeÖпÉÒÔʹÓÃoption+cammod+i´ò¿ª»òÕßChromeÑ¡Ôñ²Ëµ¥-¸ü¶à¹¤¾ß-¿ª·¢Õß¹¤¾ßÀ´½øÐдò¿ª¿ØÖÆÌ¨¡£²»¹ýÈç¹ûÎÒÃǵijÌÐò³öÏÖÒì³£»°£¬¿ÉÒÔ¿ªÆô(Pause On Caught Exceptions)¡£ÕâÑù³ÌÐò³öÏÖÒì³£µÄʱºò£¬³ÌÐò»áÔÝÍ£Ö´ÐпÉÒÔ¸üºÃµÄµ÷ÊÔ´íÎó¡£
Õæ»úµ÷ÊÔ·½·¨:
¢Ù.Õë¶ÔAndroid 5.0»ò¸ü¸ß°æ±¾µÄÉ豸£¬¿ÉÒÔͨ¹ýUSBÁ¬½Ó£¬È»ºóʹÓÃadbÃüÁÁ¢Ò»¸öÉ豸µ½µçÄÔµÄתÏò¶Ë¿Ú:ÃüÁîÈçÏÂ:
adb reverse tcp:8081 tcp:8081
»òÕßÒ¡»Î´ò¿ª¿ª·¢Õ߲˵¥£¬Ñ¡ÔñDevSettings£¬È»ºóDebug server host for deviceÖÐÉèÖõçÄÔµÄIPºÍ¶Ë¿ÚºÅ¡£
¢Ú.Õë¶ÔAndroid5.0ÒÔϵÄÉ豸£¬Á¬½Ó·½Ê½Wifi£¬ÆäËû²½Öè²î²»¶àŶ¡£
4.4..ʵʱˢÐÂJS
ÎÒÃÇ¿ÉÒÔ½øÐÐÄǸöÈçÏÂÐ޸쬵±ÎÒÃÇǰ¶ËJS´úÂë·¢Éú¸ü¸ÄµÄʱºò£¬×Ô¶¯ÈÃÉ豸½øÐÐˢнçÃæ¡£
ÔÚAndroidƽ̨ÉÏÃæ£¬´ò¿ª¿ª·¢Õ߲˵¥£¬Ñ¡ÔñDev Settings,È»ºóµã»÷Auto reload on JS changeÑ¡Ôñ£¬²»¹ýÓÐЩ°æ±¾ºÃÏñûÓÐÕâ¸ö¸üÑ¡ÏîÁË£¬Ä¬ÈÏ×Ô¶¯Ë¢Ðµġ£
(Îå)×îºó×ܽá
½ñÌìÎÒÃÇÖ÷Òª½²½âÁËReact NativeÓ¦ÓÃÉ豸ÔËÐз½Ê½ºÍÕæ»ú·½Ê½£¬Ö÷Òª²ÄÁÏÀ´×ÔReact Native¹ÙÍø£¬Õâ±ßËùÓв½ÖèÎÒÒѾȫ²¿²âÊÔ¹ýϵġ£ÒòΪ½²½âÆðÀ´ºÍʵ¼ÊʹÓû¹ÊÇ»ØÓöµ½¸÷ÖÖÎÊÌâµÄ¡£´ó¼ÒÓÐÎÊÌâ¿ÉÒÔ¼ÓÒ»ÏÂȺReact Native¼¼Êõ½»Á÷Ⱥ(282693535)»òÕßµ×ϽøÐлظ´Ò»Ï¡£
|