您的位置:首页 > Web前端 > React

ReactNative常见问题及解决方法

2017-03-23 15:28 567 查看
AndroidStudio执行运行后无法通过,报错信息为:

Error:Execution failed for task ':app:processDebugResources'.

> java.io.IOException: Could not delete path 'XXXXXX\XXXXX\ProjectName\android\app\build\generated\source\r\debug\android'.

build文件无法删除导致的,解决办法:进入项目文件夹下手动删除android\app\build文件夹内的所有文件后再次运行

程序打包能通过,安装完成后一打开就闪退,log中错误提示为:

java.lang.RuntimeException: com.facebook.react.devsupport.JSException: Could not get BatchedBridge, make sure your bundle is packaged correctly

一般是因为android项目中的access文件夹下未生成bundle文件,程序打开后无法找到相关文件直接出错,解决办法:

1,开启本地项目服务

react-native start (在根目录下执行)

2,执行命令 (在根目录下的android下执行且,需保证步骤一的服务处于开启状态)

curl "http://localhost:8081/index.android.bundle?platform=android" -o "app/src/main/assets/index.android.bundle"

在已有的旧项目中引入ReactNative时,按照网上一些教程一步步操作后仍未成功

这个坑也踩过,折腾了一两天,后来发现是因为目录结构的问题按网上方法有些配置对应的目录不对,导致一些文件引用不到,项目无法成功运行

这里应该注意使用AndroidStudio生成的项目与通过react-native init XXXX 生成的项目结构的区别:react-native生成的项目比AS生成项目多一级文件夹,

且相关文件所在目录也不一样,如index.android.js,node_modules文件夹,在as项目中是与app文件夹位于同级目录的

而在react-native init的项目中app文件夹的上层还多了个android文件夹,gradle文件中的一些相关配置(具体不记得哪几个了)比如app\build.gradle中

关于react.gradle的引用,往往是按照react-native init的结构引用的,如:

apply from: "../../node_modules/react-native/react.gradle",多返回了一级,应改为

apply from: "../node_modules/react-native/react.gradle"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息