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

构建React Native原生包时本地AAR依赖构建报错求助

解决React Native原生包构建AAR时本地.aar依赖报错问题

错误核心原因

Direct local .aar file dependencies are not supported when building an AAR. The resulting AAR would be broken because the classes and Android resources from any local .aar file dependencies would not be packaged in the resulting AAR.

Android Gradle插件(AGP)禁止直接将本地.aar作为依赖构建AAR产物——本地.aar的类、资源不会被打包进最终生成的AAR,导致产物损坏。旧版AGP虽不报错,但生成的AAR同样无效。你当前的dependencies配置重复引用本地.aar,只会加剧问题,不会解决本质冲突。


方案一:将本地.aar发布到本地Maven仓库后引用

  1. 清理无效依赖配置
    先删除dependencies中所有和本地sdk.aar相关的重复引用,仅保留其他必要依赖:

    dependencies {
        // 保留RN核心依赖等其他配置,删除所有fileTree、files方式的本地aar引用
    }
    
  2. 创建本地Maven发布配置
    在React Native原生模块的android目录下新建maven-local.gradle文件,自行修改groupId、artifactId和版本号:

    apply plugin: 'maven-publish'
    
    publishing {
        publications {
            aar(MavenPublication) {
                groupId 'com.yourteam.sdk'
                artifactId 'innity-core'
                version '1.0.0'
    
                artifact file('libs/sdk.aar')
            }
        }
        repositories {
            mavenLocal()
        }
    }
    
  3. 发布到本地Maven
    在模块的build.gradle顶部引入配置文件:

    apply from: './maven-local.gradle'
    

    执行Gradle命令完成发布:

    ./gradlew publishToMavenLocal
    
  4. 通过Maven坐标引用
    在模块的dependencies中添加:

    implementation 'com.yourteam.sdk:innity-core:1.0.0'
    

方案二:将本地.aar转为Android Library模块依赖

  1. 创建Library模块
    在android目录下新建子目录(例如innity-sdk),将sdk.aar放入该目录的libs文件夹。

  2. 配置模块build.gradle
    在innity-sdk目录下创建build.gradle,匹配你的项目compileSdk、minSdk版本:

    plugins {
        id 'com.android.library'
    }
    
    android {
        namespace 'com.yourteam.innitysdk'
        compileSdk 33
        defaultConfig {
            minSdk 21
        }
    }
    
    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.aar'])
    }
    
  3. 注册模块到项目
    在项目根目录的settings.gradle中添加:

    include ':innity-sdk'
    project(':innity-sdk').projectDir = new File(rootProject.projectDir, './innity-sdk')
    
  4. 引用模块依赖
    在React Native原生模块的dependencies中添加:

    implementation project(':innity-sdk')
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 19:31:03