由于工作需要近期研究了下React Native调用Android接口,该文章将介绍自己在RN环境搭建和封装第三方SDK接口以及RN调用Android接口的趟坑过程。(第一次写博客,写的不好请大家勿喷)
1:RN环境搭建
我是参考的RN官网的搭建开发环境进行操作的,地址:
https://reactnative.cn/docs/0.42/getting-started.html#content
RN环境搭建有些繁琐,但是按照官网文章一步一步操作完成是没有太大问题的。
2:嵌入到现有原生应用
2.1:参考RN官网 嵌入到现有原生应用,地址:
https://reactnative.cn/docs/0.42/integration-with-existing-apps.html#content
其中遇到下面命令无法执行可忽略该步骤。
出现这个问题主要是因为android项目的目录结构跟react-native支持的目录结构不一致导致的。可以运行“react-native upgrade”该命令运行之后你会发现你的android项目的目录结构变化了,会在项目的根目录下生成一个android文件 再次执行react-native run-android发现项目可以正常运行起来了,但是实际运行的是后来新生成的android项目,所以后期Android封装接口代码需要在该工程下编写。
3:ReactNative调用Android方法
3.1:参考相关文章
官网原生模块文章,地址:
https://reactnative.cn/docs/0.42/native-modules-android.html#content
优快云 博客文章,地址:
http://blog.youkuaiyun.com/hanhailong726188/article/details/51236285
http://blog.youkuaiyun.com/u013718120/article/details/55506238
3.2:期间一直报错找不到Name 我忘了最开始Name是什么了,然后后来我改了一个名字然后加了个RCT前缀就好了,由此RN可正常调用Android接口,然后后期我集成了声网SDK相关接口以及微信登录,下面是我最终效果图和项目github地址。
自己工程项目地址:
https://github.com/zhao331863874/ReactNative_JNITest
4:附上几个之前网上大神封装好的工程示例
RN调用声网接口工程:
https://github.com/syanbo/react-native-agora
RN调用WX接口工程:
https://github.com/reactnativecn/react-native-wx