1. 程式人生 > >react-native系列(2)入門篇:Windows系統下配置Android開發環境

react-native系列(2)入門篇:Windows系統下配置Android開發環境

本文主要內容是在Window系統下配置Android APP的開發環境,配置過程將會有點麻煩,請大家需要有點耐心。當然大家也可以參考RN官網的配置過程,但實際上很多開發者根據官網步驟並沒能配置出完整的RN開發環境。目前RN的最新版本是0.57,我們將以這個版本為例配置Android的開發環境。

要配置RN的Android開發環境需要4個依賴:

  • JDK(版本必須是 1.8)
  • Node(版本必須高於8.3)
  • Python2(只能是2.x,不支援3.x)
  • Android Studio

安裝JDK

開啟JDK下載頁:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

點選'Accept License Agreement ',然後在下面的列表中選擇下載32位或64位,這裡我下載64位。

下載後得到一個 'jdk-8u191-windows-x64.exe' 檔案,雙擊安裝全部 '下一步' 即可。接著,配置JDK的環境變數。開啟環境變數,建立變數JAVA_HOME,值為JDK的安裝目錄,如 C:\Program Files\Java\jdk1.8.0_191

開啟環境變數Path(沒有則建立一個),配置JDK的可執行檔案bin目錄,如C:\Program Files\Java\jdk1.8.0_191\bin

配置好了後,開啟DOS環境,輸入 'java -version',可以打印出版本號則表示JDK已經安裝成功。

 

安裝Node

開啟Node下載頁:https://nodejs.org/zh-cn/download/

擇長期支援的穩定版本,點選 'Windows 安裝包' 下載,下載完成後雙擊安裝,安裝時全部點 '下一步' 即可。安裝完成後開啟DOS環境,輸入 'node -v',如果可以打印出版本號表示Node也安裝成功了。

 

安裝Python2

開啟下載頁:https://www.python.org/downloads/windows/

選擇Python2.x,記住,目前RN不支援3.x。

點選進入後,選擇Windows 64位安裝包:

下載完成後,雙擊安裝,全部 '下一步' 即可。

 

安裝Android Studio

開啟下載頁:https://developer.android.google.cn/studio/

下載後直接安裝即可,安裝過程可以參考:Android studio安裝與配置。安裝完成後會在桌面生成圖示,雙擊開啟 'Android Studio'。首次開啟時可能會報 '沒有SDK' 的錯誤:

 

那是因為Android SDK現在已經不和Android Studio整合在一起安裝,這裡點選Cancel即可。之後會進入Android SDK的安裝嚮導,此處有個坑,安裝SDK時儘量不要安裝在C盤,因為啟動虛擬機器時會佔用很大的記憶體消耗。我們按照嚮導安裝SDK即可。我這裡把SDK安裝在D盤目錄D:\ReactNative\android-sdk。安裝完成後,我們需要配置Android SDK的環境變數,有三項,開啟Path,配置如下:

另外,還需要配置ANDROID_HOME,若沒有該變數名則建立一個

配置後,重啟Android Studio,已經可以正常開啟。

我們點選'Configure',在開啟的下拉列框中選擇 'SDK Manager',開啟SDK管理頁

這裡我們要下載Android支援的版本,我把4.1以上的版本都勾上,然後點選Apply下載,下載過程有點長,下載完成後,點選OK即可。到這裡,我們就基本已經配置完成,接著,我們建立一個程式試一下。

重啟Android Studio,點選上面新建頁中的 'Start a new Android Studio project' 選項,我們把專案命名為 'HelloRN'

 剩下的全部點下一步即可。這樣我們就建立了一個HelloRN的專案

接著我們建立一個虛擬機器,點選'Tools'選項,在下拉列中選中 'AVD-Manager' 。或者點選介面中的  圖示,開啟虛擬機器管理器。

點選 'Create Virtual Device' 開啟建立頁

選擇好裝置後,點選 'Next',選擇要安裝的系統版本,這裡我選擇API Level 為 27,如果沒有該API需要先安裝,點選Download即可

剩下的全部點選 'Next' 即可。這樣,我們的虛擬機器就創建出來了,點選啟動按鈕即可啟動虛擬機器(有些電腦會在這步發生錯誤,報錯:沒有使用虛擬機器的許可權。這種情況只要去BIOS裡開啟虛擬機器使用許可權即可,一般是在 'Virtualization ' 選項裡設定開關)。

我們現在試試在虛擬機器上執行剛才建立的'HelloRN'專案,點選選單欄中的'Run',在下拉列中選中 'Run'

然後選中要Run的專案後,再選擇虛擬機器載體,這裡我們選擇剛建立的虛擬機器 Pixel API 27

點選OK,執行效果如下

終於鬆口氣,至此,我們的Windows系統下的環境配置已經全部完成了。但是這個並不是RN專案,現在我們來建立一個RN專案,並在虛擬機器中執行這個RN專案。這裡也有一個坑,我們在使用npm初始化專案時,一定不能使用cnpm,cnpm 安裝的模組路徑比較奇怪,packager 不能正常識別!所以在建立專案前,我們先在DOS中執行一下這兩個語句:

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

假設我將專案建立在 D:\GitProjects 目錄下,先通過DOM環境進入該目錄後,執行命令下載RN模板,我這裡安裝成全域性依賴:

$ cd D:\GitProjects
$ D:
$ npm install -g react-native-cli

接著我們建立一個名稱為 'HelloRN' 的專案,執行命令:

$ react-native init HelloRN

建立完成後如圖所示:

我們進入到 'HelloRN' 目錄下,執行'react-native run-android' 命令啟動專案了

啟動時會彈出一個node視窗,這個視窗的作用是連線了RN程式和虛擬機器,這裡可以不管它。這時,我們發現虛擬機器裡已經把專案已經啟動起來了。

恭喜你,至此已經完成了Windows環境下Android開發環境配置。

這裡還有個坑要填,如果你執行時出現了指向node_modules目錄裡檔案的紅屏錯誤,大部分原因是由新版本的react-native存在bug引起,因為預設初始化專案時是初始化最新版本的react-native依賴包,如

這種情況初始化專案時可以安裝其它較穩定的版本react-native包,如安裝0.42版本,安裝程式碼如下:

react-native init HelloRN --version [email protected]

也有一種很少見的情況,就是npm快取發生錯誤導致無法正確下載依賴包,這時可以重新安裝最新穩定版本的node。

當前這個版本的react-native還有一個坑,在真機除錯時有可能會報如下錯誤:

遇到這種情況,只要在android/app/src/main目錄下建立一個空的assets資料夾,然後執行如下命令即可解決。

react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

如果在開發中需要熱載入或儲存時重新載入頁面,則搖晃手機或在虛擬機器中點選ctrl+M開啟配置模式,啟動 Enable Hot Reloading 或 Enable Live Reload即可。

至此,嘗試一下通過 React Native 寫一個 'HelloWorld' 例項吧。