react-native 初始化 各种报错 及 解决方案

本文介绍了在使用React Native开发过程中遇到的无法加载脚本、模块解析失败等问题,并提供了详细的解决步骤,包括清理缓存、卸载并重新安装依赖等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Unable to load script from assets 'index.android.bundle'.

curl -k "http://localhost:8081/index.android.bundle" > android/app/src/main/assets/index.android.bundle

2.error: bundling failed: Error: Unable to resolve module 'AccessibilityInfo' from

降级处理

react-native init AwesomeProject
cd AwesomeProject
react-native run-android
npm uninstall react-native
npm install --save react-native@0.55.4
react-native run-android
npm install --save babel-core@latest babel-loader@latest
npm uninstall --save-dev babel-preset-react-native
npm install --save-dev babel-preset-react-native@4.0.0
react-native run-android

3.UnableToResolveError: Unable to resolve module ‘***’

这个问题很常见,原则上是任何npm依赖包都有可能发现这个问题,介绍下解决方案吧

step one: rm -r node_modules
step two: npm cache clean --force
step three: npm install 
step four: npm start -- --reset-cache

一般step one, step three, step four就可以解决问题

React Native 0.68 项目中,使用 **`jcore-react-native@1.2.0` 和 `jpush-react-native@2.9.0`** 时出现构建错误(特别是 `jpush-5.1.2.aar` 和 `jcore-2.1.0.aar` 文件缺失问题),通常是由于 **Gradle 配置冲突**或 **安装方式不正确**导致的。以下是具体解决方案--- ### **1. 问题原因** - **版本不匹配**: `jpush-react-native@2.9.0` 默认依赖的 Android 原生库版本(如 `jpush-5.1.2.aar`)可能未正确下载或路径配置错误- **手动依赖残留**: 项目可能残留旧版手动安装的 `.aar` 文件配置(如 `android/app/libs/jiguang/`),但实际文件缺失。 --- ### **2. 完整解决步骤** #### **(1) 清理旧配置和缓存** ```bash # 删除可能的本地 aar 文件目录 rm -rf android/app/libs/jiguang/ # Linux/macOS # 或手动删除 android/app/libs/jiguang/(Windows) # 清理 Gradle 缓存 cd android && ./gradlew clean && cd .. ``` #### **(2) 修正依赖版本** 修改 `package.json`,**锁定版本**以避免潜在冲突: ```json { "dependencies": { "jcore-react-native": "1.2.0", // 去掉 ^ 确保版本固定 "jpush-react-native": "2.9.0" } } ``` 然后重新安装: ```bash npm install ``` #### **(3) 更新 Android 配置** - **检查 `android/app/build.gradle`**: 确保没有手动添加的 `flatDir` 或本地 `.aar` 依赖: ```gradle dependencies { // 删除以下行(如果存在): // implementation(name: 'jpush-5.1.2', ext: 'aar') // implementation(name: 'jcore-2.1.0', ext: 'aar') // 保留自动链接的依赖 implementation project(':jpush-react-native') implementation project(':jcore-react-native') } ``` - **检查 `android/settings.gradle`**: 确保包含以下内容: ```gradle include ':jpush-react-native', ':jcore-react-native' project(':jpush-react-native').projectDir = new File(rootProject.projectDir, '../node_modules/jpush-react-native/android') project(':jcore-react-native').projectDir = new File(rootProject.projectDir, '../node_modules/jcore-react-native/android') ``` #### **(4) 启用 Jetifier(AndroidX 兼容)** 在 `android/gradle.properties` 中确认: ```properties android.useAndroidX=true android.enableJetifier=true ``` #### **(5) 重新构建项目** ```bash npx react-native run-android ``` --- ### **3. 常见问题补充** #### **如果仍报错 `Transform's input file does not exist`** 说明 Gradle 仍在尝试加载本地 `.aar` 文件。检查以下文件: 1. **`android/app/build.gradle`**: 确保没有 `flatDir { dirs 'libs/jiguang' }` 配置。 2. **`node_modules/jpush-react-native/android/build.gradle`**: 检查是否有硬编码的本地依赖路径(罕见情况需手动修复)。 #### **强制使用远程仓库(可选)** 在 `android/build.gradle` 中添加极光官方仓库: ```gradle allprojects { repositories { google() mavenCentral() maven { url "https://maven.jiguang.cn/repository/public" } // 添加这行 } } ``` --- ### **4. 验证是否成功** - **Android 日志**: 运行应用后,检查 Logcat 过滤 `JPush`,确认初始化日志: ``` I/JPush: [JPushGlobal] init succeeded ``` - **设备通知测试**: 通过极光控制台发送测试通知,确认是否能接收。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值