疫情原因得在家遠程辦公,在MAC下開發RN的時候發現了一個平台兼容問題,手里頭沒有安卓設備,只能用模擬器,AS avd、genymotion笨重還慢,后來發現了網易mumu這個小東西,又小又快。自己搗鼓了一天終於在模擬器上運行上了,這里記錄過程。
調試前准備
- JAVA環境
- ADB環境(可以在終端運行adb命令)
- node環境
- 下載並安裝好網易MuMu模擬器
1. 運行網易MuMu,打開后在首頁打開設置->開發者選項->打開USB調試模式
如果已經打包好的apk文件,則直接將apk文件拖動到模擬器窗口,apk會被自動安裝
2. ADB connect
這里需要說明一下,在我看了一堆博客之后,發現這個MuMu在MAC和PC下是的端口號是不一樣的。windows端口號是7555,macOS下端口號是22471,下面的指令需要根據系統不同自己修改
在終端執行以下命令:
# 為了保證連接正常,需要確保之前的模擬器都關閉,穩妥起見,先關閉adb服務
adb kill-server
# 查看網易MuMu是否已經正常啟動(可選)
sudo lsof -i:22471
# 執行connect指令
adb connect localhost:22471
這個時候可能會顯示failed to connect to localhost:22471
,提示連接失敗,別管它往后走
# 查看當前連接的設備
adb devices
如果之前提示了連接失敗,在此時再次執行
adb connect localhost:22471
,會提示already connected to localhost:22471
至此,MuMu已經可以作為一個可調試設備了。
3.運行npm服務器,此時需要記下npm服務器端口后面要用。
4.在項目根目錄下執行react-native run-android
並指定設備運行。
此時還無法正常調試RN頁面,需要通過這個搖一搖功能,打開RN調試工具,測試發現點擊一下“搖一搖”可能不彈出調試菜單,需要連續點擊,可能模擬器模擬的搖的勁兒不夠大吧哈哈哈
選擇
選擇
此時查看電腦本地IPv4地址即可,windows可以使用ipconfig
,macOS使用ifconfig
。
將獲取到的IP地址加上之前獲取到的端口即可。