react-native環境搭建


目標平台 Android
開發平台 windows

開發環境安裝建議:由於開發環境存在差異,建議參照react官網 或者react中文網 安裝,
react-native —— 在Windows下搭建React Native Android開發環境也很有參考價值。
安裝過程中遇到錯誤后,查找關鍵字,解決錯誤。

開始!

安裝:
Chocolatey

CMD.exe

@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

安裝需要一個穩定的能夠翻牆的網絡環境


上面錯誤顯示window不能夠解壓.zip, 實際情況是更換一個穩定翻牆環境就解決了

win8 安裝程序時出現2502 2503錯誤解決方法

  1. 運行CMD(必須用管理員權限)
  2. 輸入命令: msiexec /package “你的安裝文件的全路徑”

參考:win8 安裝程序時出現2502 2503錯誤解決方法

react-native init awesome
初始化項目,很長時間都顯示進行中或者失敗
解決方案:參考在Windows下搭建React Native Android開發環境

// 直接克隆主分支
git clone https://github.com/facebook/react-native.git
cd react-native/react-native-cli && npm install -g

當執行npm install -g報錯 'Error: EPERM: operation not permitted'

Error: EPERM: operation not permitted
顯示權限不足,需要獲取管理員權限,再次執行
獲取管理員權限后,仍是報同樣的錯誤。解決方案參考
How to fix Node.js npm permission problems
第一步:執行npm cache clean;再次在react-native-cli目錄下執行npm install -g;如果不成功,
第二步:查看%APPDATA%\npm-cache或者$env:APPDATA\npm-cache不清楚這是什么意思
第三步:第二部清理緩存后,如果還有殘留,手動清除。問題解決。

第二步執行過程中,之前運行的react-native init awesome已經初始化成功,沒有接着往下試

執行react-native init awesome,初始化項目成功后,會看到

接着選擇運行的平台:
如果是IOS:

cd E:\react\awesome
react-native run-ios
或者如上提示

如果是 Android:

cd E:\react\awesome
react-native run-andriod // 執行這一步的時候報錯,-bash: XXXX/react-native: No such file or directory

-bash: XXXX/react-native: No such file or directory

執行react-native run-andriod 報錯,顯示文件不存在
方案:重新獲取管理員權限,執行 npm install -g react-native-cli 。再次 react-native run-andriod,完美運行。

Execution failed for task ':app:compileDebugJavaWithJavac'.

Could not find tools.jar
參考:
android - Execution failed for task ':app:compileDebugJavaWithJavac'
jdk環境變量配置

錯誤的原因是沒有安裝java SDK.官網選擇下載對應的SDK。安裝即可。
注意:自定義安裝后,自定義路徑下面下的是jre,比如,我自定義安裝路徑為F:\ProgramFiles\java\jre1.8.0_111,java\jre1.8.0_111是默認安裝路徑的字段,照搬過來。安裝成功后,
JDK被放在了C:\Program Files\Java\jdk1.8.0_111目錄下面。

安裝成功后,需要設置環境變量。[查看原文]
右擊“我的電腦”=》"system"=》“advanced system setting”=》“environment variable”

1)在系統變量里新建JAVA_HOME變量,變量值為:C:\Program Files\Java\jdk1.8.0_111(根據自己的安裝路徑填寫)
2)新建classpath變量,變量值為:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
3)在path變量(已存在不用新建)添加變量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin(注意變量值之間用“;”隔開)
4)“開始”-->“運行”-->輸入“javac”-->"Enter",如果能正常打印用法說明配置成功!

補充環境變量:
JAVA_HOME:jdk的安裝路徑
classpath:java加載類路徑,只有類在classpath中java命令才能識別,在路徑前加了個"."表示當前路徑。
path:系統在任何路徑下都可以識別java,javac命令

如何創建一個安卓模擬器

如何啟動一個模擬器
參考:android 命令行模式啟動模擬器
創建模擬器后,鍵入android list avd查看可用的虛擬設備

emulator avd 啟動模擬器

Execution failed for task ':app:installDebug'.com.android.builder.testing.api.DeviceException:com.android.ddmlib.ShellComma ndUnresponsiveException
參考:React Native疑難點,問題深坑最強總結帖(不斷更新中)文中13和16兩點
官網:troubleshooting。官網頁面就有記錄這個錯誤以及解決方案。·__·

根據官網的提示:該錯誤的原因是版本級別不對,需要將1.3.1版本降級為 1.2.3

  1. 需要將 android/build.gradle 里的 gradle:1.3.1 改為 gradle:1.2.3
  2. 需要將 android/gradle/wrapper/gradle-wrapper.properties里的 distributionUrl 版本改為gradle-2.2-all.zip

再次報錯:Execution failed for task ':app:installDebug'.

com.android.builder.testing.api.DeviceException: java.lang.RuntimeException: No connected devices!
在 react packager中報錯,報錯的原因是設備沒有成功連接

嘗試解決方案:

  1. 啟動avd manager,添加虛擬設備。

最終解決方案
啟動genymotion setting => ADB 選擇 "use custom android SDK tools", 復制黏貼sdk安裝路徑即可。
參考:Android Studio如何集成Genymotion,android studio中成功安裝好genymotion插件后,重啟android studio。
點擊紅色按鈕,啟動虛擬設備
命令行: avd devices 查看當前運行的全部模擬器,正確安裝的話,就能看啟動的設備

切換到awesome目錄,react-native run-android 。成功!note2是通過use鏈接的真機

附錄:
adb操作命令詳解及大全
adb是什么?
adb的全稱為Android Debug Bridge,就是起到調試橋的作用。通過adb我們可以在Eclipse中方面通過DDMS來調試Android程序,說白了就是debug工具。adb的工作方式比較特殊,采用監聽Socket TCP 5554等端口的方式讓IDE和Qemu通訊,默認情況下adb會daemon相關的網絡端口,所以當我們運行Eclipse時adb進程就會自動運行。

adb有什么用?:借助adb工具,我們可以管理設備或手機模擬器的狀態。還可以進行很多手機操作,如安裝軟件、系統升級、運行shell命令等等。其實簡而言說,adb就是連接Android手機與PC端的橋梁,可以讓用戶在電腦上對手機進行全面的操作
常見:
android list avd 系統中所有模擬器
adb devices 查看當前運行的所有模擬器
adb shell 進入設備的或模擬器的shell 模式
ctrl + d 退出adb shell模式

jdk與jre的區別
JDK就是Java Development Kit.面向開發人員,它提供了Java的開發環境和運行環境。
SDK是Software Development Kit 一般指軟件開發包,可以包括函數庫、編譯程序等。
JRE是Java Runtime Enviroment是指Java的運行環境,是面向Java程序的使用者,而不是開發者。
JVM,java virtual machineJVM或java虛擬機,它是整個java實現跨平台的最核心的部分,所有的java程序會首先被編譯為.class的類文件,這種類文件可以在虛擬機上執行,也就是說class並不直接與機器的操作系統相對應,而是經過虛擬機間接與操作系統交互,由虛擬機將程序解釋給本地系統執行

史上最全Windows版本搭建安裝React Native環境配置
React Native Android 踩坑之旅

待解決問題

  1. android studio 中avd manager為什么不能點擊


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM