将RN并存项目打包成aar包,Android主工程无node_modules
(一)开始集成RN项目之前我们还是先了解下React Native 版本问题
充分了解rn对应版本支持的内容,
[RN版本更新内容](https://github.com/facebook/react-native/blob/main/CHANGELOG.md#v0670)
同时你可以参考这边文章实现标题这个目的,这里
楼主的方案也是参考这边文章得来的,非常感谢作者。只是楼主并没有直接在RN项目中打包aar,而是将RN先更改为android项目目录结构再打包成aar包。并且楼主的项目是原生部分和RN部分都有业务模块并存的。
当前楼主项目中使用的是react native 0.66.3 仍是支持jdk8
(二)我们先对React Native项目结构进行解析,发现和安卓原生项目结构不一致
具体字段参考"前端纸飞机"这位大神的csdn文章:https://blog.csdn.net/qq_32442973/article/details/120144460
所以需要将rn项目结构改变为安卓项目结构,如果你是想将原有安卓项目集成到rn项目中去,直接将原有项目放入android目录中即可。
以下是将RactNative项目更改为android项目后的目录结构:
实际开发过程中,我建议在RN项目中也使用app (library) 和 aarlibrary,主要代码均放在aarlibrary中,app (library)仅作为一个入口。这样方便将RN项目中的aarlibrary复制到
用于打包的android项目中(图中的rnto_android_demo)。
RN项目结构如下图: