如何解决aar中的第三方依赖无法调用问题

本文介绍了解决在Android项目中使用AAR模块时遇到的第三方依赖无法调用的问题。通过将AAR模块发布到本地Maven仓库或公司私服,确保了AAR能够正确依赖所需的第三方库。在主项目中,可通过build.gradle文件以依赖形式轻松集成AAR,满足模块化开发需求。

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

如何解决aar中的第三方依赖无法调用问题
背景:
      近日公司需要做一个信息流的项目,嵌入到已经存在app中,为了让信息流的模块进行独立,需求是将信息流模块打包成aar形式,单独集成到主项目中.
问题:
      在集成的过程中遇到了一些问题,如果将aar放到lib目录下,aar里面依赖的第三方库无法调用,因为编译aar的时候,并没有将第三方依赖的库编译到aar中,aar中只有源代码\资源文件等.

解决方案:
      在网上搜了一大堆解决方案,有说在主项目中把aar需要的依赖加上,虽然说也可以,但是违背了项目需求的意愿,不能满足将某个模块抽取出来,想使用的时候就集成进去,不想用直接不集成.
      而这里要提出的解决方案是将aar打包发布到本地的Maven仓库,如果公司有私服的话,可以直接放到私服上,私服上会自动让aar继续依赖其他的第三方库,这样在主项目中就可以在build.gradle中以依赖的形式来集成aar.

具体操作:
      首先在开发的模块中的build.gradle中加入上传本地Maven仓库的配置:

apply plugin: 'maven'
uploadArchives {
    repositories {
        mavenDeployer {
            pom.groupId = "com.crypt.lord.feature.news"
            pom.artifactId = "newsclient-release"
            pom.version = "1.0.0"
            repository(url: "file://localhost/" + "Users/hepengcheng/Library/Android/sdk" + "/extras/android/m2repository/");
        }
    }
}
1
2
3
4
5
6
7
8
9
10
11
我这里建立的是本地仓库,如果有自己的私服的话,可以这样配置:

apply plugin: 'maven'
uploadArchives {
    repositories {
        mavenDeployer {
            pom.groupId = "com.crypt.lord.feature.news"
            pom.artifactId = "newsclient-release"
            pom.version = "1.0.0"
            repository(url: "http://localhost:8081/nexus/content/repositories/newsclient/") {
                authentication(userName: "admin", password: "admin123")
            }
        }
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
然后在命令行中进行编译:gradle uploadArchives

最后在主项目中进行引用:

配置仓库地址
repositories {
    flatDir {
        dirs 'libs'
    }
    maven {
        url "https://jitpack.io"
    }
    maven {
        url "http://172.16.18.155:8081/repository/android.lianmeng"
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
引用aar
compile 'android.sdk.news:newsclient-release:1.0.0'
1
2
搞定!
————————————————
版权声明:本文为优快云博主「Kiven_Android」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/hpc19950723/article/details/77773253

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值