在虛擬機中運行老以爲缺點什麼,此次準備試試真機調試。本覺得會很順利,結果碰一鼻子灰。按照文檔的說法:
react
結果在手機中運行後報這個錯:
android
怎麼搞都沒用。折騰了2天多!終於找出辦法。
1,設置好 usb調試以後,先開一個 cmd 運行:adb devices
react-native
2,查到 設備以後再開一個cmd:運行 adb reverse tcp:8081 tcp:8081
app
3,執行上一步成功以後 繼續開cmd 在此運行:react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res 這個是主要所在,後面修改以後的覆蓋也要先執行一次這個命令 再 run 纔會在手機上有改變!
tcp
執行run 以後手機會跳出來是否安裝應用,點擊繼續:就能夠看效果了。
測試
真是小坑坑死人,這個問題,網上幾乎找不到答案,恰好我這放出來。
分割線=======================================================================================================================================================分割線
最後貼一下 另外一種錯誤的解決方法,也是真機中可能會遇到坑:
Mac中真機測試React Native project時出現Unable to load script from assets 'index.android.bundle'
第一步:首先切到咱們工程的根目錄下,而後在android/app/src/main目錄下新建一個assets文件夾,能夠在終端中執行如下命令創建:spa
mkdir android/app/src/main/assets調試
固然也能夠在Android Studio中手動創建;orm
第二步:一樣須要在咱們工程的根目錄下,執行如下命令:blog
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
第三步:從新運行如下命令便可:
react-native run-android
然而,這樣並無解決上述問題,依然報錯,且此時會出現另一個問題:
Cannot find entry file index.android.js in any of the roots: ["/Users//ReactNativeProjects/FirstReactApp"]
這時咱們去assets文件夾下才發現,第二步的命令並無在assets文件夾中生成咱們所需的文件,裏面沒有任何文件生成,此時筆者繼續查找,在Stack Overflow中找到了解決方法,用下面的命令替換剛纔第二步的命令:
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
原來是index.android.js已經改爲index.js,難怪找不到呢!!!
使用上述命令後,此時在assets文件夾下會多出index.android.bundle和index.android.bundle.meta兩個文件;
再從新運行工程就行了