1. 程式人生 > >react native android模擬機調試

react native android模擬機調試

dex assets 成功 但是 技術 use -a conf 創建

模擬機調試首先要確認你的環境變量的path中是不是有adb的路徑,adb一般在android的adk目錄下的platform-tools下,android目錄默認是在c盤user/administrator(用戶默認的話)/appdata/中

如果使用的是android studio自帶的那個模擬器的話,可以這麽玩

運行

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就可以看到項目在虛擬機上跑起來了

或者可以使用其他的安卓模擬器,我用的是夜神模擬器,

先運行一條命令

adb connect 127.0.0.1:62001

之後可以通過

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,但是一直沒效果,找了半天結果發現就是這原因,好氣)

react native android模擬機調試