react native集成到现有工程

##本文默认已搭建好react-native开发环境

  1. 在已有项目集成react-native,先按照官网指导文档方式集成react-native环境

  2. 在新建package.json文件后,可以先查看当前react-native最新的版本信息,以及react的最新版本信息,可以通过npm info react-native和npm info react命令查看相关版本信息。这个是官方网页上的package.json内容

    {
    	"name": "MyReactNativeApp",
    	"version": "0.0.1",
    	"private": true,
    	"scripts": {
    		"start": "node node_modules/react-native/local-cli/cli.js start"
    	},
    	"dependencies": {
    		"react": "16.0.0-alpha.6",
    		"react-native": "0.44.3"
    	}
    }
    
  3. 在index.js所在目录调用npm install,在命令行中可能会出现react-native@0.55.4 requires a peer of react@16.3.1 but none is installed. You must install peer dependencies yourself.等版本提示,我们只需要安装一下对应的更新包就可以了,上面需要的是react@16.3.1,我们执行命令npm install react@16.3.1安装完成就可以,其他的提示也是一样的操作

  4. 在首次运行的时候可能会碰上java.lang.UnsatisfiedLinkError: dlopen failed: "/data/data/{packageName}/lib-main/libgnustl_shared.so" is 32-bit instead of 64-bit异常,这个解决方式通过在app目录下的build.gradle文件添加

    android {
        ......
        defaultConfig {
            ......
            packagingOptions {
                exclude '/lib/mips64/**'
                exclude '/lib/arm64-v8a/**'
                exclude '/lib/x86_64/**'
            }
        }
    
  5. 可能碰上的其他异常Unable to load script from assets 'index.android.bundle’或者Could not connect to development server,解决办法在index.js目录下调用adb reverse tcp:8081 tcp:8081命令一次

  6. 在package.json中的项目名和RnActivity中的项目名,index.js中的项目名字一定要保持统一。

  7. 官方文档中RnActivity中的一段代码

    mReactInstanceManager = ReactInstanceManager.builder()
                .setApplication(getApplication())
                .setBundleAssetName("index.android.bundle")
                .setJSMainModulePath("index.android")
                .addPackage(new MainReactPackage())
                .setUseDeveloperSupport(BuildConfig.DEBUG)
                .setInitialLifecycleState(LifecycleState.RESUMED)
                .build();
    

setJSMainModulePath(“index.android”)方法,如果我们根目录下使用的是index.js,则需要将index.android改为index,否则会在根目录下查找index.android.js文件找不到报错。

###以上是自己在原有项目集成rn碰到的一些问题,仅供参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值