You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native Fabric组件执行run-android时无法找到.aar依赖的原因

问题原因与解决方案

核心差异原因

Android Studio能正常识别是因为你直接在本地开发组件项目,libs目录下的.aar文件存在于本地源码中;而执行react-native run-android时,构建使用的是node_modules中安装后的组件副本,如果你的组件在发布/安装过程中没有将libs目录及.aar文件包含进去,就会出现找不到文件的报错。另外也可能存在依赖配置的细节问题,以下是具体排查和解决步骤:

步骤1:检查node_modules中的组件是否包含.aar文件

前往项目根目录下的node_modules/[你的组件名称]/android/libs目录,查看是否存在mylibrary-debug.aar:

  • 如果文件不存在,说明组件在npm/yarn安装时,libs目录被忽略了,这是最常见的问题。

步骤2:修改组件的发布配置,确保.aar被包含

在你的组件项目的package.json中,添加files字段,明确指定需要打包发布的文件,确保libs目录及.aar被包含:

"files": [
  "android",
  "ios",
  "index.js",
  "android/libs/*.aar"
]

或者检查组件根目录的.npmignore文件,删除任何忽略libs或.aar的规则(比如libs/或*.aar)。

修改后,重新在主项目中执行npm install [你的组件路径](本地开发用相对路径)或重新发布组件,确保node_modules中的组件包含libs目录和对应的.aar文件。

步骤3:确认组件的build.gradle配置正确

在组件的android/[组件module名]/build.gradle(注意是module级的build.gradle,不是project根目录的build.gradle)中,确保以下配置正确:

  1. 配置flatDir仓库指向本地libs:
repositories {
    flatDir {
        dirs 'libs'
    }
}
  1. 在dependencies中正确引用aar文件:
dependencies {
    // 注意name是aar文件名(去掉后缀),ext指定为aar
    implementation(name: 'mylibrary-debug', ext: 'aar')
}

步骤4:清理构建缓存后重试

执行以下命令清理React Native和Android的构建缓存,避免缓存导致的问题:

# 清理React Native缓存
npx react-native start --reset-cache

# 清理Android构建缓存
cd android && ./gradlew clean && cd ..

然后重新执行react-native run-android。


内容的提问来源于stack exchange,提问作者Daniel McGrath

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 17:22:55