首先说说情况吧,公司需要原生嵌入ReactNative,迫于需要,要搞起来。看着iOS就搞了20分钟,感觉Android就算麻烦也不能太麻烦的,结果还是自己太年轻了。下面就是我遇到的各种问题,希望对看到的朋友能有帮助
(我用的是ReactNative版本为0.32.0)
1.首先集成的项目目录
我使用的是直接按照react-native init Project 的格式来导入的,也就是说,我的
Android项目目录是跟node_modules是在一个目录下的。
我试过把node_modules集成在Android项目下面的情况,不过没有弄成,所以我换乘来
这种了(有时间可以再试试)
2.第二步就是跟官网和很多教程一样的配置环境了
2.1 在我们Android项目的build.gradle中添加React Native依赖,然后同步,具体代码如下:
compile 'com.facebook.react:react-native:0.32.0'
在此说一下,我也是忘记在哪个大神博客下看的了,如果版本写的是“+”的话,下载的react native版本就是0.20.0的版本,会报一个错,就是版本不符合的错误,“Module 0 is not a registered callable moudle”,这个Google了一下,说是reactnative版本跟服务器的版本不符合,改正了就按着我的步骤三的第一种方法做就可以了,注释掉第三个重写的方法。
2.2紧接着我们需要在项目AndroidManifest.xml中加入网络访问权限
<uses-permission android:name="android.permission.INTERNET" />还有一个activity就是设置菜单,发现好多里面都没有,我就先放在这里了
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
2.3 在android/build.gradle
文件中(注意跟上面的路径不同)加入本地React Native的maven目录(现在React Native的所有组件,无论JS还是Android的预编译包,都是通过npm分发的了):
我是在两个 jcenter() 后面都添加了这个方法
<