ReactNative Windows環境搭建,折騰不止

React Native

windows環境搭建開發Android

  • 安裝python2.7.X(不支持Python 3版本)
  • 安裝node.js(5.x版本或更高版本)
npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global
  • 安裝react-native-cli
npm install -g yarn react-native-cli
yarn config set registry https://registry.npm.taobao.org --global
yarn config set disturl https://npm.taobao.org/dist --global
  • 安裝java jdk1.8
設置環境變量:計算機屬性>高級>環境變量>系統變量
(1)新建環境變量java_home   jdk安裝path
(2)修改環境變量path   %java_home%/bin
(3)修改環境變量classpath   .;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar
(4)javac是否輸出信息
  • 安裝Android Studio2.0或更高版本。
Android Studio不要亂點選項,多裝了並無害處
  • 安裝sdk
react native目前支持android6.0 API23.0.1版本的sdk
image

image

  • 設置Android SDK環境變量
1.新建ANDROID_HOME   sdk路徑
2.在path 添加%ANDROID_HOME%/tools;%ANDROID_HOME%/platform-tools
3.adb是否輸出信息
  • 修改 Maven 倉庫地址
React Native 在初始化時會從 jcenter.binary.com 這個地方下載一些東西,網上搜索了一下,好像是在下載 Maven 相關的依賴。
針對全局進行修改。在用戶主目錄的 .gradle 文件夾下新建一個 init.gradle 文件,該文件的內容以下

allprojects {
    repositories {
        def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'
        all { ArtifactRepository repo ->
            if (repo instanceof MavenArtifactRepository && repo.url != null) {
                def url = repo.url.toString()
                if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."
                    remove repo
                }
            }
        }
        maven {
            url REPOSITORY_URL
        }
    }
}

image

  • 運行項目
react-native init hello #建立項目名

cd hellohtml

react-native run-androidjava

有關run-android報錯以及踩過的坑總結

  • 個人android studio下載sdk每次都有下載問題,我又下載了一個Android SDk Tools(一整套Android SDK的開發和調試工具)來下載23.0.1的sdk
  • 使用官方推薦的虛擬機Genymotion
比起Android Studio自帶的原裝模擬器,Genymotion是一個性能更好的選擇,但它只對我的用戶免費

那麼坑來了:

我下載的Genymotion包含virtualBox,然而win7始終沒法打開Genymotion的安卓虛擬機

Genymotion報錯

virlualBox報錯 E_FALL(0x80004005)

不少報錯都會顯示這個錯誤代碼,具體細節能夠再看報錯信息,找了網上好多解決辦法都沒生效,懷疑仍是沒找到問題,因而我仔細地看了看虛擬機控制檯輸出信息和設置,發現了端倪提示大概是CPU沒法分配的,也就是硬件虛擬化,相關連接https://www.cnblogs.com/zhao1...
我用的thinkpad,F1進入BOIS界面,找到Security,Virtualization,選擇Enable便可
怎麼確認本身是不是硬件虛擬化緣由,如圖若是你的系統是64位,卻看不到64-bit的選項頗有多是這個緣由,在附上我虛擬機的配置選項
virlualboxnode

clipboard.png

clipboard.png

  • Genymotion配置本身下載的SDk

clipboard.png

到此能啓動虛擬機,虛擬機沒報錯卻看不到安卓界面就說明你下的sdk有問題python

  • 鏈接真機

這坑是小米給的,無聲無息,充滿了惡意react

adb devices #查看設備是否鏈接

clipboard.png

如何沒有請檢查是否開啓usb調試,可能端口5037被佔android

netstat -aon|findstr "5037"

clipboard.png

打開任務管理器>進程 找到對應的PID結束進程,記得把殺毒軟件,360等都關了npm

clipboard.png

到這應該成功了,而後發現run-android發現仍是會報錯windows

clipboard.png

我adb都能找到設備,WTF。。。
緣由就在USB安裝沒開啓,點開啓不就完了,小米提示須要插SIM卡,無語......,最後建議把啓用MIUI優化也關了
最後若是仍是找不到設備建議看一下這個文章https://www.cnblogs.com/sansh...react-native

  • 最後奉上個人安裝包
連接: https://pan.baidu.com/s/1EO5e... 密碼:gyj4
相關文章
相關標籤/搜索