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

如何从AAR中排除依赖库?以排除androidx.core为例

解决从NatShare AAR中排除androidx.core的问题

你尝试的exclude配置无效,大概率是因为NatShare的AAR包并非通过传递依赖引入androidx.core,而是直接将androidx.core的代码打包进了自身的classes.jar中——Gradle的exclude仅对传递依赖生效,对这种内置的代码无法直接排除。

可以尝试以下几种方案:

方案1:通过packagingOptions全局排除

在模块的build.gradle(或build.gradle.kts)中添加打包配置,直接排除APK/AAB中androidx.core相关的文件:

android {
    packagingOptions {
        // 排除androidx.core下所有类文件
        exclude 'androidx/core/**'
    }
}

注意:这是全局配置,会移除所有依赖中androidx.core的文件,如果你的项目其他模块需要androidx.core,谨慎使用。

方案2:手动修改AAR包

如果不想全局排除,可以手动修改NatShare的AAR包:

  • 将NatShare.aar文件解压(可视为zip文件处理)
  • 打开解压后的classes.jar,删除其中的androidx/core目录
  • 将修改后的文件重新打包为AAR,替换项目中原有的AAR文件

方案3:使用resolutionStrategy强制排除

如果androidx.core是通过传递依赖引入(只是你的exclude写法不对),可以尝试全局强制排除:

configurations.all {
    resolutionStrategy {
        exclude group: 'androidx.core', module: 'core'
    }
}

内容的提问来源于stack exchange,提问作者Сергій Курило

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 13:23:18