由于工作需要近期研究了下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

其中遇到下面命令无法执行可忽略该步骤。

    2.2:在这个过程中遇到了一个神坑卡了好长时间,文档中说执行npm start启动开发服务器,然后发现根本启动不起来一直卡着不动后来试过各种方法都不行,不知道就是起不来还是什么原因后来放弃了是用该命令 改为react-native run-android启动项目。但是该命令会报下Android project not found. Maybe run react-native android first?错误(如图)

出现这个问题主要是因为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

CSDN 博客文章,地址:

http://blog.csdn.net/hanhailong726188/article/details/51236285

http://blog.csdn.net/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



更多相关文章

  1. 哥哥手把手教你认识AIDL的详细使用,来了老弟
  2. android studio开发Android项目嵌入cocos2dx项目
  3. 【边做项目边学Android】小白会遇到的问题--创建Android项目不自
  4. [置顶] Android(安卓)Studio安装与使用(二)
  5. Translation002—Package Index(Android包索引)
  6. 【源码分享下载】每日更新之Android应用源码比较不错的新闻客户
  7. android系统自带的Service原理与使用
  8. Android(安卓)开发之Android(安卓)Studio
  9. Android(安卓)自定义PopupWindow以及参数传递与返回

随机推荐

  1. android好帖子
  2. Android ListView 滚动加载数据
  3. Andriod开发教程 怎么导入现有的Android
  4. Error:(16, 0) Gradle DSL method not fo
  5. Android中消息处理机制-Handler剖析
  6. android截屏示例,适合流媒体 MediaPlayer
  7. Android小程序开发--跟随手指动的绿色小
  8. IOC框架
  9. Android root权限判断
  10. android中利用pull解析xml文件