react-native--01環(huán)境搭建

歷史節(jié)點

  • 2012年9月11日, 馬克·扎克伯格(Mark Zuckerberg)--Facebook最大的錯誤就是在HTML5上下注太多
  • 2013年5月30日,F(xiàn)acebook公司對外正式發(fā)布 ReactJS
  • 2015年3月26日钙态,F(xiàn)acebook公司對外正式發(fā)布 React Native -- 使用React框架跨平臺開發(fā)原生 IOS 移動應(yīng)用寺惫。
  • 2015年9月15日,React Native 支持開發(fā)原生 Android 移動應(yīng)用蕉毯。

詞匯表

  • React -- 一個JavaScript框架乓搬,用于構(gòu)建“可預(yù)期的”和“聲明式的”Web用戶界面思犁,它已經(jīng)使Facebook更快地開發(fā)Web應(yīng)用。
  • Native -- 意指原生, React Native 使用 React 來開發(fā)Native(原生)的APP进肯。

安裝開發(fā)環(huán)境(Windows 10 & Android)

說明

為了能夠保證一次就順利安裝完成激蹲,請嚴格按照文檔順序來操作。

參考網(wǎng)址:

react native中文網(wǎng)
react native on github.io

安裝python江掩、nodejs学辱、git、HAXM和Java-1.8

還沒開始學就遇到第一個坑频敛,國內(nèi)網(wǎng)絡(luò)封堵的厲害项郊,官網(wǎng)上建議用的Chocolatey包管理器來安裝Python、NodeJS和Java遇到各種超時和報錯斟赚。因此需要自己分別到 Python官網(wǎng)着降、 NodeJS官網(wǎng)
Git-SCM拗军、
intel HAXM
Java官網(wǎng)去下載和安裝任洞。

備注:目前只支持Python2.7;詳細的HAXM安裝說明請點擊這里发侵。

設(shè)置環(huán)境變量
打開控制面板 -> 系統(tǒng)和安全 -> 系統(tǒng) -> 高級系統(tǒng)設(shè)置 -> 高級 -> 環(huán)境變量 -> 用戶變量 -> Path -> 編輯

  1. Python
    C:\Python27
  2. NodeJS
    C:\Program Files\nodejs
  3. Git-SCM
    C:\Program Files (x86)\Git\bin
  4. Java
    C:\Program Files\Java\jdk1.8.0_111

驗證安裝結(jié)果
Python

C:\Users\zhengtong>python
Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:53:40) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>     # 敲入Ctrl + C組合鍵 或 quit() 退出交掏。

Nodejs

C:\Users\zhengtong>node
>     # 敲入Ctrl + C組合鍵 退出。

Git

C:\Users\zhengtong>git version
git version 2.7.2.windows.1

HAXM

C:\Users\zhengtong> sc query intelhaxm

SERVICE_NAME: intelhaxm
        TYPE               : 1  KERNEL_DRIVER
        STATE              : 4  RUNNING         # 確保狀態(tài)是 running
                                (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

Java

C:\Users\zhengtong>java -version
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)

上面這五個軟件的驗證都沒有任何報錯, 且正常顯示出對應(yīng)信息則表示軟件已經(jīng)安裝成功刃鳄,而且環(huán)境變量已經(jīng)設(shè)置正確盅弛。

安裝React Native命令行工具(The React Native CLI)

用npm來安裝react native cli還是網(wǎng)絡(luò)封堵問題,因此需要將原鏡像倉庫地址指向到淘寶提供的鏡像倉庫叔锐。

打開cmd命令行窗口

npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global

執(zhí)行react native cli安裝命令

npm install -g yarn react-native-cli
安裝Android Studio開發(fā)工具(IDE)

下載地址: Android Studio IDE

注意: 整個Android Studio安裝過程被拆分成三部分挪鹏,第一部分是exe文件解壓(也就是我雙擊android-studio-bundle-145.3537739-windows.exe這個安裝包)。
第二部分:解壓好了之后開始進入向?qū)?該向?qū)匀粫侔惭b一些東西)愉烙,在向?qū)У腎nstall Type界面(選擇Custom)讨盒,

Install Type界面
Install Type界面

然后再SDK Components Steup界面(全部勾選),這時會到google上去下載一些組建步责,漫長的等待返顺。
SDK Components界面
SDK Components界面

第三部分:向?qū)瓿芍螅瑫棾鲆粋€ welcome to android studio界面,
Welcome to android studio
Welcome to android studio

選擇該窗口右下腳的 <configure> -> <SDK Manager>蔓肯,分別勾選:

  1. 點擊右下角的Show pakage details.
  2. 勾選 Google APIs
  3. 勾選 Intel x86 Atom System Image
  4. 勾選 Intel x86 Atom_64 System Image
  5. Google APIs Intel x86 Atom_64 System Image
SDK Platforms
SDK Platforms

注意:這里必須勾選 Android 6.0(Marshmallow)

切換到SDK Tools分頁

  1. 點擊右下角Show pakage details.
  2. 在Android SDK Build Tools中勾選Android SDK Build-Tools 23.0.1遂鹊。(必須是這個版本)
SDK Tools
SDK Tools

接著又是漫長的等待。

設(shè)置用戶環(huán)境變量

確保ANDROID_HOME環(huán)境變量正確地指向了你安裝的Android SDK的路徑蔗包。

打開控制面板 -> 系統(tǒng)和安全 -> 系統(tǒng) -> 高級系統(tǒng)設(shè)置 -> 高級 -> 環(huán)境變量 -> 用戶變量 -> 新建

用戶環(huán)境變量
用戶環(huán)境變量
將Android SDK的Tools目錄添加到PATH變量中

打開控制面板 -> 系統(tǒng)和安全 -> 系統(tǒng) -> 高級系統(tǒng)設(shè)置 -> 高級 -> 環(huán)境變量 -> 用戶變量 -> Path -> 編輯

  1. 增加tools, 下面這個是我自己操作系統(tǒng)的路徑.
    C:\Users\zhengtong\AppData\Local\Android\sdk\tools
  2. 增加plateform-tools, 下面這個是我自己操作系統(tǒng)的路徑.
    C:\Users\zhengtong\AppData\Local\Android\sdk\platform-tools

驗證安裝

  1. 啟動手機模擬器.
    1.1 打開虛擬設(shè)備管理界面
    C:\Users\zhengtong>android avd
    
    虛擬設(shè)備管理界面

    1.2 創(chuàng)建一個手機模擬器
    創(chuàng)建手機模擬器

    1.3 點擊start
    啟動手機模擬器

    1.4 顯示安卓系統(tǒng)則表示正常
    啟動手機模擬器
  1. 啟動項目.
    react-native init AwesomeProject
    cd AwesomeProject
    react-native start
    react-native run-android
    
    顯示如下圖片則表示整個安裝過程已經(jīng)順利結(jié)束稿辙。
    項目已順利啟動

安裝過程報錯記錄

  1. Cannot read property 'message' of undefined

    控制臺報錯信息

    C:\Users\zhengtong\AwesomeProject>react-native run-android
    
    JS server already running.
    Running C:\Users\zhengtong\AppData\Local\Android\sdk/platform-tools/adb -s fce7e07a reverse tcp:8081 tcp:8081
    Building and installing the app on the device (cd android &&      gradlew.bat installDebug)...
    
    FAILURE: Build failed with an exception.
    
        What went wrong:
        A problem occurred configuring project ':app'.
    
        failed to find Build Tools revision 23.0.1
    
    Try:
        Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
    
    BUILD FAILED
    

    解決辦法(更新 android sdk platform-tools revision 23.0.1):

    Android\sdk\tools > android list sdk -a
    Show lists of sdk
    Find tools line and type the following entry in the line number.
    12 - Android SDK Platform-tools, revision 23.0.1 and update
    Android\sdk\tools > android update sdk -a -u -t 12

  2. No connected devices!
    控制臺報錯信息

    C:\Users\zhengtong\AwesomeProject>react-native run-android
    ...
    ...
    :app:installDebug FAILED
    
    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Execution failed for task ':app:installDebug'.
    > com.android.builder.testing.api.DeviceException: No connected devices!
    

    github上大致的描述是說, 要啟動安卓項目, 首先需要配置好虛擬設(shè)備(例如:Nexus 4、Samsung Galaxy 4等)气忠。
    調(diào)用如下命令可以啟動虛擬設(shè)備管理窗口邻储,先添加或clone一個已經(jīng)配置好的虛擬設(shè)備模版赋咽。

    C:\Users\zhengtong\AwesomeProject>android avd
    

    然而我添加好了之后,啟動虛擬設(shè)備, 又報一個<emulator: ERROR: x86_64 emulation currently requires hardware acceleration!> 吨娜, stackoverflow上說是因為沒有安裝硬件虛擬化加速驅(qū)動脓匿。在這里下載,然后安裝就可以了宦赠。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末陪毡,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子勾扭,更是在濱河造成了極大的恐慌毡琉,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件妙色,死亡現(xiàn)場離奇詭異桅滋,居然都是意外死亡,警方通過查閱死者的電腦和手機身辨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門丐谋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人煌珊,你說我怎么就攤上這事号俐。” “怎么了定庵?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵吏饿,是天一觀的道長。 經(jīng)常有香客問我蔬浙,道長猪落,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任敛滋,我火速辦了婚禮,結(jié)果婚禮上兴革,老公的妹妹穿的比我還像新娘绎晃。我一直安慰自己,他們只是感情好杂曲,可當我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布庶艾。 她就那樣靜靜地躺著,像睡著了一般擎勘。 火紅的嫁衣襯著肌膚如雪咱揍。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天棚饵,我揣著相機與錄音煤裙,去河邊找鬼掩完。 笑死,一個胖子當著我的面吹牛硼砰,可吹牛的內(nèi)容都是我干的且蓬。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼题翰,長吁一口氣:“原來是場噩夢啊……” “哼恶阴!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起豹障,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤冯事,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后血公,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體昵仅,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年坞笙,在試婚紗的時候發(fā)現(xiàn)自己被綠了岩饼。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡薛夜,死狀恐怖籍茧,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情梯澜,我是刑警寧澤寞冯,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站晚伙,受9級特大地震影響吮龄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜咆疗,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一漓帚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧午磁,春花似錦尝抖、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至登颓,卻和暖如春搅荞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工咕痛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留痢甘,地道東北人。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓暇检,卻偏偏與公主長得像产阱,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子块仆,可洞房花燭夜當晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容