[React] develop setting for react-native android
- ๋ฅ์ง
- Development
- ๋ถ๋ฅ
- Javascript
- ๋ฑ๋ก์ผ
osx elcapitan ๊ธฐ์ค์ ๋๋ค.
์ญ์ ์๋๋ก์ด๋ ๊ฐ๋ฐ์ sdk๋ฅผ ์ ๋ชจ๋ฅธ๋ค๋ฉด ์ธํ
๋์ด๋๊ฐ ๋น์ฝ์ ์ผ๋ก ์ค๋ฅด๋๊ฒ ๊ฐ๋ค.
๋ฒ์ ์ ๋ฐ๋ผ์ ์ํฉ์ด ๋ฌ๋ผ์ง๋ ๋ถ๋ถ์ด ๊ต์ฅํ ๋ง์ผ๋ ์ฃผ์!
์ฐธ๊ณ ๋งํฌ
๊ณต์์ฌ์ดํธ
์ธํ ๋ฒ์ ๊ดํ ๊ธฐ๋ณธ์ ์ธ ๋ด์ฉ์ ๋ด๊ณ ์์ง๋ง ์๋๋ก์ด๋ ๊ฐ๋ฐ์ธํ ์ ๋ํด์๋ ์๋ต๋์ด์๋ค.
https://facebook.github.io/react-native/docs/getting-started.html
Realm๋์ ํฌ์คํธ
๊ณต์์ฌ์ดํธ๋ณด๋ค ๋ด์ฉ์ด ๋ ์๋์ด ์์ง๋ง __์๋๋ก์ด๋ ์คํ๋์ค๋ฅผ ์ฌ์ฉํ์ง ์๋__๋ฐฉ๋ฒ์ด๋ค.
https://realm.io/kr/news/react-native/
์๋๋ก์ด๋ ๊ฐ๋ฐ์ธํ
์ฒซ๋ฒ์งธ๋ก java ๊ฐ๋ฐํท์ ์ค์นํ๋ค.
ํ์ฌ ์ต์ ๋ฒ์ ์ Java SE Development Kit 8
๋งํฌ : http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
watchman๊ณผ flowํจํค์ง๋ฅผ ์ค์น
brew install watchman
brew install flow
node ์ค์น (node๊ฐ ์ค์น๋์ด์์ผ๋ฉด ์๋ต)
๋จผ์ nvm์ ์ค์นํด์ผํ๋๋ฐ ์ ์ฅ์ ๋งํฌ๋ https://github.com/creationix/nvm
readme๋ฅผ ์ดํด๋ณด๋ ์ค์น ์ปค๋ฉ๋๋ ๋ค์๊ณผ ๊ฐ๋ค.
๋ง์ฝ ์คํ์ด ์๋๋ค๋ฉด readme ๋ฌธ์๋ฅผ ๋ค์ ธ๋ณด๋ฉด ์ค์ ํ๋ ๋ฐฉ๋ฒ์ด ๋์์๋ค.
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
ํฐ๋ฏธ๋์ ๋ซ์๋ค ๋ค์์ด๋ฉด ๊ธ๋ก๋ฒ์์ ์คํํ ์ ์๋ค.
nvm install node
nvm alias default node
์ฌ๊ธฐ์ ๋ฃจํธ๊ฐ 2๊ฐ์ง ๋ฐฉํฅ์ผ๋ก ๋๋๋ค.android studio์๋๋ก์ด๋ ์คํ๋์ค๋ฅผ ์ค์นํ์ฌ sdk๋ฅผ ์ค์นํ๋๊ฒ๊ณผ brew๋ช
๋ น์ด๋ก ์๋๋ก์ด๋ ์คํ๋์ค๋ฅผ ์ค์นํ์ง ์๊ณ sdk๋ฅผ ์ค์นํ๋ ๋ฐฉ๋ฒ ๋๊ฐ์ง์ธ๋ฐ, ๋๋๋ ์ด์ ๋ ์ค์น๋๋ sdk์ ๊ฒฝ๋ก๊ฐ ๋ค๋ฅด๋ค.
๊ฐ๋ฐ์ ์๋๋ก์ด๋ ์คํ๋์ค๊ฐ ๋ฐ๋์ ํ์ํ ์ํฉ์ด ์๋๋ผ์ ๋ฃจํธ๋ฅผ ์ ํํ ์ ์๋ค.
ํ์๋ ๋ญฃ๋ ๋ชจ๋ฅด๊ณ ๋๊ฐ์ง ๋ฃจํธ ๋ค ์ค์นํ๋ค๊ฐ osx๊ฐ ์๋ง์ด ๋์๋ค. ใ _ใ
brew๋ก sdk๋ฅผ ์ค์นํ๋๊ฒ๊ณผ ์๋๋ก์ด๋ ์คํ๋์ค๋ฅผ ์ค์นํ๋๊ฒ๊ณผ android sdk ๊ฒฝ๋ก๊ฐ ๋ค๋ฅด๋ ํ์ชฝ ๋ฃจํธ๋ก ์ ํด์ ์ธํ ํ๋๊ฒ์ด ์ข๋ค.
not android studio
Realm๋์ ํฌ์คํธ์ ๋ฐฉ๋ฒ์ธ๋ฐ Homebrew๋ฅผ ํ์ฉํ ๋ฐฉ๋ฒ.
๋ค์ ๊ณผ์ ์ ํตํ์ฌ ์ค์นํ๋ค.
android sdk ๋งค๋์ ์ค์น
์๋๋ก์ด๋ ๋น๋์ ํต์ฌ์ธ sdk ๋งค๋์ ๋ฅผ ์ค์นํ๋ค.
brew install android-sdk
์ค์นํ๋ฉด ๊ฒฝ๋ก๊ฐ /usr/local/opt/android-sdk๋ก ๋๋๊ฒ์ ์ค์น ๋ฉ์์ง์์ ํ์ธํ ์ ์์๋ค.
ANDROID_HOME ๊ฒฝ๋ก๊ฐ ์ค์
realm ํฌ์คํธ์์ ์ด ๋ถ๋ถ์ด ํ์ ํ๊ฒ ์ ํ์์๋ค. ANDROID_HOME๊ฐ์ ์ด๋์ ์ค์ ํ๋์ง ๋น ์ ธ ์์ด์ ์ด์ ๋ชจ๋ฅผ ๋น๋์๋ฌ๋ฅผ ๋ง๋ณด์๋ค. ใ
ใ
/Users/{username}/.bash_profileํ์ผ์ ์ด์ด์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ๋ก๋ฅผ ์ถ๊ฐํด์ค๋ค.
export ANDROID_HOME=/usr/local/opt/android-sdk
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
์๋๋ก์ด๋ sdk ๋งค๋์ ์ด๊ธฐ
๋ค์ ์ปค๋ฉ๋๋ฅผ ์คํํ๋ฉด ์๋๋ก์ด๋ sdk ๋งค๋์ ์ฐฝ์ด ์ด๋ฆฌ๋๊ฒ์ ๋ณผ ์ ์๋ค.
android
use android studio
install android studio
์๋๋ก์ด๋ ์คํ๋์ค๋ฅผ ์ค์นํ๋ค.
https://developer.android.com/studio/index.html
sdk๊ฒฝ๋กํ์ธ
Preferencecmd+,์ ๋ค์ด๊ฐ์ Android SDK์น์
์ ๊ฐ๋ฉด sdk๋ชฉ๋ก์ ๋ณผ ์ ์๋ค.
์๋์ชฝ Launch Standalone SDK Manager ๋ฒํผ์ ๋๋ฅด๋ฉด ์๋๋ก์ด๋ sdk ๋งค๋์ ์ฐฝ์ ๋ณผ ์ ์๋ค.
๋งค๋์ ์์ sdk ํจํค์ง ์ค์นํ๊ธฐ
๋ค์ ์ด๋ฏธ์ง๋ฅผ ์ฐธ๊ณ ํ์ฌ ํจํค์ง๋ฅผ ์ค์นํ๋ค. ์ํฉ๊ณผ ์๊ธฐ์ ๋ฐ๋ผ ํ์๋ ํจ์น์ง๋ ์์ฒญ๋๊ฒ ๋ฌ๋ผ์ง๋ ์ฃผ์๊ฐ ํ์ํ๋ค.
์ด๋ฏธ์ง ์ถ์ฒ : https://realm.io/kr/news/react-native/
๋์ค์ ๋น๋ํ ๋ ํจํค์ง ์๋ค๊ณ ์ค๋ฅ๊ฐ ๋ ๋ ์ฌ๊ธฐ์ ํ์ธํ๊ณ ์ค์นํด์ฃผ๋ฉด ๋๋ค.
react native ๊ฐ๋ฐ์ค๋น
cliํจํค์ง ์ค์น
npm์ผ๋ก ํจํค์ง๋ฅผ ์ค์นํ๋ค. -g ์ต์
์ผ๋ก ์ด๋๋ ์ง react-native ์ปค๋ฉ๋๋ฅผ ์คํํ ์ ์๋๋ก ํ๋ค.
npm install -g react-native-cli
ํ๋ก์ ํธ ๋ง๋ค๊ธฐ
hello๋ผ๋ ์ด๋ฆ์ผ๋ก ํ๋ก์ ํธ๋ฅผ ๋ง๋ ๋ค.
react-native init hello
ํ๋ก์ ํธ๊ฐ ๋ง๋ค์ด์ก์ผ๋ฉด ๋ค์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์คํ๋ฐฉ๋ฒ์ด ์ ํ์๋๊ฒ์ ํ์ธํ ์ ์๋ค.
์คํํ๊ธฐ
์๋๋ก์ด๋ ํด๋ํฐ์ ์ปดํจํฐ์ ์ผ์ด๋ธ๋ก ์ฐ๊ฒฐํ๊ณ ๋ค์ ์ปค๋ฉ๋๋ฅผ ์คํํ์ฌ hello world๋ฅผ ํ์ธํ๋ค.
cd hello
react-native run-android
์ด ๊ณผ์ ์์ ์ค๋ฅ์์ด ํด๋ํฐ์์ ์ฑ์ด ๋จ๊ณ ์ ์์ ์ธ ํ๋ฉด์ ๋ณผ ์ ์๋ค๋ฉด ๊ฐ๋ฐ์ค๋น๊ฐ ์๋ฃ๋์์ง๋ง ์ด ๊ณผ์ ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ฌ ๊ฐ์ฅ ๋ง์ ์ฝ์ง์ ํ๊ฒ ๋์๋ค. ใ ใ
์๋ฃ
๋ฌธ์ ์์ผ๋ฉด ๋ค์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด welcome ๋ฉ์์ง๋ฅผ ๋ณผ ์ ์๋ค.
์ฝ๊ฐ์ ์ฅ๋์ง๋ก ์ฝ๊ฒ ์คํ์ผ์ ๋ณ๊ฒฝํ ์ ์๋ค.
Troubleshooting
๋น๋๋ฅผ ํ ๋ ์ผ์ด๋ฌ๋ ๋ฌธ์ ์ ๋ค์ ๋ํ ์น์
๋น๋ ์ค๋ฅ
๋น๋๋ฅผ ํ ๋ ๋ง์ ์ฝ์์ด ๋์ค๋๋ฐ ์ด๋๊ฐ ๋ฌธ์ ์ธ์ง ์ ๋ง ํ๋ค๋ค.
์๋์ชฝ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ํ์ธํ๋๊ฒ๋ณด๋ค ์ฝ์์ด ์ ์์ ์ผ๋ก ์ถ๋ ฅ๋๋ค๊ฐ ๋ญ๊ฐ ๋ฌธ์ ๊ฐ ์๊ธด ๋ฉ์์ง๊ฐ ๋์จ ๋ถ๋ถ๋ค์ ์บ์นํด์ ๊ตฌ๊ธ๋ง์ ํด๋ณด๋ฉด ๋๋ค.
sdk ํจํค์ง๋ฅผ ๋ชป์ฐพ์์ ๋๋ถ๋ถ์ ์ค๋ฅ์์ธ์ด๋ค๋ณด๋ ๋ฉ์์ง๋ฅผ ์ ํ์ธํด๋ด์ผํ๋ค.
๋๋ฐ์ด์ค์์ localhost์ ์์ด ์๋๋ ๋ฌธ์
์ฑ์ด ๋น๋๋์ด ์ค์น๋๋๋ผ๋ ํด๋ํฐ์์ ์๋ฒ ์ ์์ค๋ฅ๋ฅผ ๋ง๋ณธ๋ค. (๋นจ๊ฐ๋ฐฐ๊ฒฝ์์ ๋ฉ์์ง๋ฅผ ๋ณผ ์ ์๋ค.) ์ด์ ๋ ๋ค๋ฅธ ๊ธฐ๊ธฐ์์ ๊ฐ๋ฐ ์ปดํจํฐ๋ฅผ localhost๋ก ์ ์ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
์ปดํจํฐ๋ก ์ ์ํ ์ ์๋ ํธ์คํธ๋ก ๋ณ๊ฒฝํด ์ค์ผํ๋ค. ์) 192.168.0.35:8081
Running On Device ํฌ์คํธ์ ๊ทธ ๋ฌธ์ ์ ๋ค์ด ๋ค ๋์์์ผ๋ ์ฐธ๊ณ ๋ฐ๋๋ค.
๋๋ฐ์ด์ค๋ฅผ ํ๋ค๋ฉด ๊ฐ๋ฐ์ ๊ด๋ จ๋ ๋ฉ๋ด๊ฐ ๋์จ๋ค. ๊ทผ๋ฐ ์ ์๋์จ๋ค. -_-;;;
์ฐธ๊ณ ๋งํฌ
Getting Started
https://facebook.github.io/react-native/docs/getting-started.html
Running On Device
https://facebook.github.io/react-native/docs/running-on-device-android.html#running-on-device
Troubleshooting
https://facebook.github.io/react-native/docs/troubleshooting.html#content
Try to React Native for Android
http://www.atware.co.jp/blog/2015/9/24/try-to-react-native-for-android
0๊ฐ์ ๋๊ธ
๋ฑ๋ก๋ ๋๊ธ์ด ์์ต๋๋ค.