老项目也能玩转跨平台?Android原生+RN混合开发深度解析

读者可通过本篇文章深入了解,在现有原生项目基础上,集成RN功能步骤及注意事项,推荐各位阅读。


一、环境准备

1. 创建 package.json(项目根目录)
{
   
   
  "name": "YourProject",
  "version": "1.0.0",
  "private": true,
  "scripts": {
   
   
    "start": "yarn react-native start",
    "bundle-android": "react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/"
  },
  "dependencies": {
   
   
    "react": "17.0.2",
    "react-native": "0.66.5"
  }
}

关键点

  • react 版本需与 RN 0.66.5 匹配(官方推荐 17.0.2)
  • 添加 bundle-android 脚本用于生产环境打包 JS Bundle
2. 安装依赖
yarn install

二、Android 工程配置

1. 修改根目录 build.gradle
allprojects {
    repositories {
        google()
        mavenCentral()
        // 添加 React Native 本地仓库路径
        maven {
            url "$rootDir/node_modules/react-native/android"
        }
        maven {
            // Android JSC is installed from npm
            url("$rootDir/node_modules/jsc-android/dist")
        }
    }
}

作用:让 Gradle 从本地 node_modules 目录加载 RN 依赖

2. 修改 App 模块 build.gradle
android {
    compileSdkVersion 30
    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 30
        ndk {
            abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
        }
    }
}

dependencies {
    implementation "com.facebook.react:react-native:0.66.5"  // 指定版本
    implementation "org.webkit:android-jsc:+"
    implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"  // RN 依赖的兼容库
    
    // Fresco 版本需与 RN 0.66.5
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值