window RN 安卓真机调试记录

在虚拟机中运行老觉得缺点什么,这次准备试试真机调试。本以为会很顺利,结果碰一鼻子灰。按照文档的说法:
window RN 安卓真机调试记录_第1张图片

结果在手机中运行后报这个错:
window RN 安卓真机调试记录_第2张图片

怎么搞都没用。折腾了2天多!终于找出办法。
1,设置好 usb调试之后,先开一个 cmd 运行:adb devices
window RN 安卓真机调试记录_第3张图片

2,查到 设备之后再开一个cmd:运行 adb reverse tcp:8081 tcp:8081
window RN 安卓真机调试记录_第4张图片

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 才会在手机上有改变!
window RN 安卓真机调试记录_第5张图片

执行run 之后手机会跳出来是否安装应用,点击继续:就可以看效果了。
window RN 安卓真机调试记录_第6张图片

真是小坑坑死人,这个问题,网上几乎找不到答案,刚好我这放出来。
分割线=======================================================================================================================================================分割线
最后贴一下 另一种错误的解决方法,也是真机中可能会遇到坑:
Mac中真机测试React Native project时出现Unable to load script from assets 'index.android.bundle'
第一步:首先切到我们工程的根目录下,然后在android/app/src/main目录下新建一个assets文件夹,可以在终端中执行以下命令建立:

mkdir android/app/src/main/assets

当然也可以在Android Studio中手动建立;

第二步:同样需要在我们工程的根目录下,执行以下命令:

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两个文件;

再重新运行工程就好了

你可能感兴趣的:(react-native)