Windows下搭載React Native開發環境
1、通過Windows包管理工具chocolatey來安裝(需要安裝chocolatey客戶端和powershell V3+方式)--比較繁瑣
Chocolatey
Chocolatey是一個Windows上的包管理器,類似於linux上的yum
和 apt-get
。 你可以在其官方網站上檢視具體的使用說明。一般的安裝步驟應該是下面這樣:
@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
一般來說,使用Chocolatey來安裝軟體的時候,需要以管理員的身份來執行命令提示符視窗。
2、直接下載Node.js安裝包進行安裝包--簡單安裝node的同時,會安裝npm,這樣可以下載第三方包和上傳自己元件
安裝完成後,cmd輸入:node -v 檢視node版本,輸入:npm -v 檢視npm的版本
二、安裝React Native命令列工具cmd中輸入:
npm install -g react-native-cli
設定映象源:
npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global
釋出自己的包時候需要修改回官方地址 手動修改檔案配置,npm安裝目錄檔案:nodejs\node_modules\npm\npmrc如下圖所示:三、AndroidStudio安裝(androidstudio_2.3.3.0)說明:AndroidStudio只是IDE開發工具,SDK和AVD是開發包和執行環境安裝後,更換Android SDK Location(預設在c盤,新增環境時,很容易爆掉c盤)
在啟動頁底部,選擇configure--Project Default--project structure--設定sdk location位置
確定所有安裝都勾選了,尤其是
Android SDK
和Android Device Emulator
。在初步安裝完成後,選擇
Custom
安裝項:
- 在
SDK Platforms
視窗中,選擇Show Package Details
,然後在Android 6.0 (Marshmallow)
中勾選 - ARM EABI v7a System Image
Google APIs
、Intel x86 Atom System Image
、Intel x86 Atom_64 System Image
Google APIs Intel x86 Atom_64 System Image
。
- 在
SDK Tools
視窗中,選擇Show Package Details
,然後在Android SDK Build Tools
中勾選Android SDK Build-Tools 23.0.1
。
ANDROID_HOME環境變數
確保ANDROID_HOME
環境變數正確地指向了你安裝的Android SDK的路徑。
開啟控制面板
-> 系統和安全
-> 系統
-> 高階系統設定
-> 高階
-> 環境變數
-> 系統變數--新建
你需要關閉現有的命令符提示視窗然後重新開啟,這樣新的環境變數才能生效。
推薦安裝的工具
Gradle Daemon
開啟Gradle Daemon可以極大地提升java程式碼的增量編譯速度。
(if not exist "%USERPROFILE%/.gradle" mkdir "%USERPROFILE%/.gradle") && (echo org.gradle.daemon=true >> "%USERPROFILE%/.gradle/gradle.properties")
將Android SDK的Tools目錄新增到PATH
變數中
你可以把Android SDK的tools和platform-tools目錄新增到PATH
變數中,以便在終端中執行一些Android工具,例如android avd
或是adb logcat
等。
開啟控制面板
-> 系統和安全
-> 系統
-> 高階系統設定
-> 高階
-> 環境變數(系統變數)
-> 選中PATH
-> 雙擊進行編輯
%ANDROID_HOME%\emulator (如果通過命令啟動emulator報錯,需要把tools改為emulator)
可選的安裝項
Git
你可以使用Chocolatey來安裝git
:
choco install git
另外你也可以直接去下載Git for Windows。 在安裝過程中注意勾選"Run Git from Windows Command Prompt",這樣才會把git
命令新增到PATH
環境變數中。
Genymotion
比起Android Studio自帶的原裝模擬器,Genymotion是一個性能更好的選擇,但它只對個人使用者免費。
- 下載和安裝Genymotion(譯註:不要被裡面的價格唬住了,個人免費的連結可能不明顯,請仔細尋找!另外,genymotion需要依賴VirtualBox虛擬機器,下載選項中提供了包含VirtualBox和不包含的選項,請按需選擇)。
- 開啟Genymotion。如果你還沒有安裝VirtualBox,則此時會提示你安裝。
- 建立一個新模擬器並啟動。
- 啟動React Native應用後,可以按下F1來開啟開發者選單。
Visual Studio Emulator for Android
Visual Studio Emulator for Android)是利用了Hyper-V技術進行硬體加速的免費android模擬器。也是Android Studio自帶的原裝模擬器之外的一個很好的選擇。而且你並不需要安裝Visual Studio。
在用於React Native開發前,需要先在登錄檔中進行一些修改:
- 開啟執行命令(按下Windows+R鍵)
- 輸入
regedit.exe
然後回車 - 在登錄檔編輯器中找到
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Android SDK Tools
條目 - 右鍵點選
Android SDK Tools
,選擇新建 > 字串值
- 名稱設為
Path
- 雙擊
Path
,將其值設為你的Android SDK的路徑。(例如C:\Program Files\Android\sdk
)
四、測試安裝
建立專案名稱為projectname的專案cmd命令列執行環境(如果想要專案初始化到指定的目錄,通過切換目錄更改到專案資料夾)
react-native init projectname
cd projectname
react-native run-android
五、手動執行Packager
有個常見的問題是在你執行react-native run-android
命令後,Packger可能不會自動執行。此時你可以手動啟動它:
cd projectname
react-native start
六、問題及解決
1、執行react-native run-android報錯:No connected devices!開啟安裝好的模擬器,並啟動裝置啟動一個模擬器命令:2、安裝模擬器:Genymotion,點選add沒有裝置的問題:一般登入之後就會有device顯示,如果登入不進去,從以下三個地方檢查1、使用Oracle VM VirtualBox管理器建立一個虛擬電腦(不用再裡面裝系統,相關資訊配置好就行),並開啟啟動,參考:3、開啟Settings-->Network-->選擇Use HTTP Proxy,填寫代理服務網路(先開啟科學上網)4、更新電腦顯示卡主要從上面四個方面檢查,以上都做了,如果還是不行,檢查在Genymotion中註冊的賬戶是否已啟用,另外多登陸幾次,看到下面的黑色一直再滾動,說明就可以了3、Genymotion啟動device後顯示白屏:
很可能是顯示卡驅動有問題,用驅動人生或者驅動精靈更新顯示卡驅動就可以了: 4、執行react-native run-android報錯:Timeout getting device list 解決方法:將安裝好的sdk路徑新增到這5. gradle project refresh failed錯誤解決
手動同步gradle:Tools->Android->Sync Project with Gradle File
6、android 修改AVD的存放位置1、從Android下載的軟體後。由於Eclipse預設的虛擬機器儲存目錄為C盤。會影響系統。。建立未建立虛擬機器之前就配置好相應的資料。以免儲存在你係統盤的容量:
(1)然後在系統環境變數裡設定一個ANDROID_SDK_HOME,將“D:\Android\AVDs”複製到該變數下。
(2)找開Eclipse新建虛擬機器,看是否有引用。。
以下為已建立有虛擬機器的情況(轉載。)。。
2、學習過android的都知道,android 虛擬機器的儲存目錄預設的是C:\Documents and Settings\使用者名稱\.android。如想自己更改AVD的位置只需要做如下三步操作即可。
(1)到AVD的預設資料夾下將“.android”剪下到你想放的碟片,比如“D:\Android\AVDs”目錄下。
(2)然後在系統環境變數裡設定一個ANDROID_SDK_HOME,將“D:\Android\AVDs”複製到該變數下。
(3)修改D:\Android\AVDs\.android\avd目錄下的配置檔案中的path專案。
例如“Android2.2.ini”修改其中的path
path=D:\Android\AVDs\.android\avd\Android2.2.avd
即可。
注意,在修改時,要使eclipse和AVD關閉。
然後啟動eclipse 進入android virtual devices manager 可以看到路徑已經變化了。
7、如果執行react-native run-android 後出現錯誤
先在工作目錄建立:android/app/src/main 目錄下建立一個 assets空資料夾
如果react-native是新版本,目錄下有index.js和App.js那麼在命令列程式碼執行以下命令
[javascript] view plain copy
- 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/
----------
如果react-native是之前版本,目錄下有index.android.js,那麼在命令列程式碼執行以下命令
[javascript]view plaincopy- <strong></strong>
- react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output
- android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
另外嘗試訪問:http://localhost:8081/index.android.bundle?platform=android
是否正常,如果不正常,有可能8081埠被佔用(尤其是安裝有McAfee的使用者)結束後,重新啟動react-native run-android ,重新訪問:看是否正常訪問。PC:快捷ctr+M 可以在avd虛擬機器中快速調出reload介面