模擬機調試首先要確認你的環境變量的path中是否是有adb的路徑,adb通常在android的adk目錄下的platform-tools下,android目錄默認是在c盤user/administrator(用戶默認的話)/appdata/中react
若是使用的是android studio自帶的那個模擬器的話,能夠這麼玩android
運行 react-native
C:\Users\Administrator\AppData\Local\Android\Sdk\emulator\emulator.exe -netdelay none -netspeed full -avd Nexus4_API_27 跨域
這條命令中確保emulator.exe目錄正確,通常在android目錄中tools中或者在emulator中,像我這狀況兩個目錄下都有,emulator下能夠執行,另一個不行,緣由不詳。瀏覽器
-avd 參數後面的Nexus4_API_27是你的虛擬機的名稱,不知道的能夠去android studio中看一下。網絡
而後就是在項目根目錄下運行react-native run-android就能夠看到項目在虛擬機上跑起來了app
或者可使用其餘的安卓模擬器,我用的是夜神模擬器,ui
先運行一條命令spa
adb connect 127.0.0.1:62001 debug
以後能夠經過
adb devices 查看設備是否是添加上了
以後
而後修改ip,ip地址是你電腦上的ipv4地址,這裏能夠直接使用ipconfig命令查看到的地址,可是每次開機可能會給你分配不一樣的ip,能夠去固定一下你的ip,去電腦上網絡設置裏面找到適配器
修改ipv4的網絡,這個看我的狀況
以後項目根目錄下運行react-native run-android命令
可能會報一些錯誤
好比unable to load script form assets
解決辦法就是先在項目的android/app/src/mian中建立一個assets目錄
而後根目錄下運行
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
這裏須要注意的是,新版本reactnative 用react-native init建立的項目沒有index.android.js ,只有index.js,因此須要把index.android.js 改成index.js運行,不然會出現一系列錯誤,
例如出現could not connect to development server錯誤就多是這個緣由形成的。
成功後再運行react-native run-android,以前最好把夜神模擬器重啓一下。
網上有些博客說運行adb命令是在夜神模擬器的bin目錄下運行,不過若是已經把android目錄下sdk下platform-tools路徑配置在環境變量中的話,就直接在任何除了夜神模擬器或其餘模擬器有adb的目錄中運行adb connect命令,否則可能會報錯。
若是想要js遠程調試的話,就選擇debug js remotely
而後再瀏覽器輸入http://localhost:8081/debugger-ui/(一開始我用ip,可是有跨域問題)
接着再去上圖中選擇Reload (以前我一直在瀏覽器上Ctrl+R,可是一直沒效果,找了半天結果發現就是這緣由,好氣)