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

构建AAR时不支持直接本地.aar依赖,Android Release构建失败

Debug正常但Release构建失败的解决办法

错误根源

构建Release版本时,:ct-react-native-datatrans模块直接引用了本地AAR文件(路径:/Users/sohan/lab/mapl/mapl-app-datatarans/node_modules/ct-react-native-datatrans/android/libs/android-sdk-1.5.1.aar)。Android Gradle Plugin明确禁止这种操作——因为构建AAR时,本地AAR里的类和资源不会被打包进最终产物,导致生成的AAR损坏,旧版AGP虽然不报错但问题一样存在。

可行解决方案

方案1:把本地AAR转为本地Maven仓库依赖

  1. 在ct-react-native-datatrans/android目录下新建maven-local文件夹,把android-sdk-1.5.1.aar放进去。
  2. 修改该模块的build.gradle(或build.gradle.kts),添加本地Maven仓库:
repositories {
    maven { url = uri("./maven-local") }
    // 保留原有仓库,比如google()、mavenCentral()
}
  1. 在maven-local目录里手动创建android-sdk-1.5.1.pom文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.datatrans</groupId>
  <artifactId>android-sdk</artifactId>
  <version>1.5.1</version>
  <packaging>aar</packaging>
</project>
  1. 替换原有依赖,把本地文件依赖改成Maven坐标:
dependencies {
    // 替换原来的 implementation files('libs/android-sdk-1.5.1.aar')
    implementation 'com.datatrans:android-sdk:1.5.1'
}

方案2:解压本地AAR合并到模块中

  1. 解压android-sdk-1.5.1.aar,得到classes.jar、res文件夹、AndroidManifest.xml等内容。
  2. 把classes.jar复制到模块的libs目录,添加依赖:
dependencies {
    implementation files('libs/classes.jar')
}
  1. 将res文件夹里的资源合并到模块的res目录(遇到资源冲突时,重命名冲突文件)。
  2. 把AndroidManifest.xml里的组件(比如Activity、Service)合并到模块的AndroidManifest.xml中。

方案3:临时跳过检查(不推荐)

如果只是临时应急,可以在模块的gradle.properties里添加:

android.disableLocalLintAarBundleCheck=true

注意:这个方法只是绕过报错,生成的AAR依然可能损坏,不建议长期使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 01:24:27