React-native: ๊ธฐ๋ณธ ํ†ตํ™” ๋Œ€๊ธฐ์—ด์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ธŒ๋ฆฌ์ง€ ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2016๋…„ 04์›” 20์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: facebook/react-native

_๋งฅ, RN@๋งˆ์Šคํ„ฐ (887c275), ์•ˆ๋“œ๋กœ์ด๋“œ_

๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ UIExampleProject๋ฅผ ์ปดํŒŒ์ผํ–ˆ์Šต๋‹ˆ๋‹ค.

./gradlew :Examples:UIExplorer:android:app:installDebug assembleRelease react-native/

๊ทธ๋Ÿฐ ๋‹ค์Œ์ด APK๋ฅผ ๋‚ด Android ๊ธฐ๊ธฐ๋กœ ๋ณด๋‚ด ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์— Running on Device - iOS ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์—ฌ๊ธฐ์— Running on Device - Android ์— ๋Œ€ํ•œ ํŠน๋ณ„ํ•œ ์ง€์นจ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์˜คํ”„๋ผ์ธ ์‚ฌ์šฉ์„ ์œ„ํ•ด ์•ฑ์„ ์–ป์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฃผ๋กœ ํŠธ๋กœํ”ผ๋ฅผ ๋ฐ›์œผ๋Ÿฌ ์™”์Šต๋‹ˆ๋‹ค.

screenshot_20160419-180732

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ด๊ฒƒ์€ ์‹ค์ œ๋กœ ๋งค์šฐ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ด์ง€๋งŒ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ์ตœ๊ทผ์— ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด์ „ ์˜ค๋ฅ˜๋Š” "__fbBatchedBridge"๊ฐ€ ์ •์˜๋˜์ง€ ์•Š์•˜๋‹ค๋Š” JS ์ถ”์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์‹คํ–‰ ์ค‘์ธ ํŒจํ‚ค์ง€ ํ”„๋กœ๊ทธ๋žจ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค(๋˜๋Š” ์ž˜๋ชป๋œ ํŒจํ‚ค์ง€ ๋„๊ตฌ ์‹คํ–‰). ์—ฌ๊ธฐ์—์„œ ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์ œ์•ˆ ํ• ๊ฒŒ:

  • ์ „์ฒด RN ์Šคํƒ ์žฌ์„ค์น˜(rm node_modules && npm install)
  • watchman์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ œ๊ฑฐํ•˜๊ฑฐ๋‚˜ ๋‹ค์‹œ ์„ค์น˜ํ•˜์‹ญ์‹œ์˜ค.
  • ํŒจ์ปค ./packager/packager.sh ๋ฅผ ์‹คํ–‰ ์ค‘์ธ์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.
  • ์•ฑ ๋””๋ฒ„๊ทธ ์„ค์ •์— ์˜ฌ๋ฐ”๋ฅธ IP/ํฌํŠธ๊ฐ€ ์„ค์ •๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

์ด๊ฒƒ์€ ๋ถ„๋ช…ํžˆ ๋ฒˆ๋“ค์ด ์—†๋Š” ๋””๋ฒ„๊ทธ ๋นŒ๋“œ๋ฅผ ์›ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค(ํŒจํ‚ค์ €๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•จ). ๋ฒˆ๋“ค์ด ํฌํ•จ๋œ ์•ฑ์„ ์›ํ•œ๋‹ค๋ฉด ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

๋ชจ๋“  3 ๋Œ“๊ธ€

์ด๊ฒƒ์€ ์‹ค์ œ๋กœ ๋งค์šฐ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ด์ง€๋งŒ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ์ตœ๊ทผ์— ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด์ „ ์˜ค๋ฅ˜๋Š” "__fbBatchedBridge"๊ฐ€ ์ •์˜๋˜์ง€ ์•Š์•˜๋‹ค๋Š” JS ์ถ”์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์‹คํ–‰ ์ค‘์ธ ํŒจํ‚ค์ง€ ํ”„๋กœ๊ทธ๋žจ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค(๋˜๋Š” ์ž˜๋ชป๋œ ํŒจํ‚ค์ง€ ๋„๊ตฌ ์‹คํ–‰). ์—ฌ๊ธฐ์—์„œ ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์ œ์•ˆ ํ• ๊ฒŒ:

  • ์ „์ฒด RN ์Šคํƒ ์žฌ์„ค์น˜(rm node_modules && npm install)
  • watchman์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ œ๊ฑฐํ•˜๊ฑฐ๋‚˜ ๋‹ค์‹œ ์„ค์น˜ํ•˜์‹ญ์‹œ์˜ค.
  • ํŒจ์ปค ./packager/packager.sh ๋ฅผ ์‹คํ–‰ ์ค‘์ธ์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.
  • ์•ฑ ๋””๋ฒ„๊ทธ ์„ค์ •์— ์˜ฌ๋ฐ”๋ฅธ IP/ํฌํŠธ๊ฐ€ ์„ค์ •๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

์ด๊ฒƒ์€ ๋ถ„๋ช…ํžˆ ๋ฒˆ๋“ค์ด ์—†๋Š” ๋””๋ฒ„๊ทธ ๋นŒ๋“œ๋ฅผ ์›ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค(ํŒจํ‚ค์ €๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•จ). ๋ฒˆ๋“ค์ด ํฌํ•จ๋œ ์•ฑ์„ ์›ํ•œ๋‹ค๋ฉด ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

ํšจ๊ณผ๊ฐ€ ์žˆ์—ˆ๋˜ ๊ฒƒ์€ rm -rf node_modules && npm install

/node_modules/ run npm install ์„ ์‚ญ์ œํ•˜๊ณ  react-native 0.26.2๊ฐ€ react 15.0.2๋ฅผ ์ฐพ๋Š” ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ–ˆ์ง€๋งŒ react 15.1์„ ์„ค์น˜ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ^ ๋ฅผ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค. package.json ` "react": "^15.0.2" ^

THEN... ์˜ค๋ฅ˜๊ฐ€ ์—๋ฎฌ๋ ˆ์ดํ„ฐ/์•ฑ์— ๊ณ„์† ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

Couldn't get the native call queue: bridge configuration isn't available. this probably indicates there was an issue loading the JS bundle, e.g. it wasn't packaged into the app or was malformed. Check your logs ('adb logcat') for more information.
์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰