android多模块依赖关系,AndroidStudio中的模块依赖引入后用不了

本文介绍了Android Studio 3.0及以上版本中,从compile到api和implementation指令的变化,解释了两者在依赖引入后的不同影响,特别强调了implementation隐藏依赖的特点。遇到模块间使用问题时,需调整为api确保外部可见性。

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

------------恢复内容开始------------

在Android开发中,com.android.tools.build:gradle 3.0 以下版本依赖在gradle 中的声明写法:

compile "org.jetbrains.kotlin:kotlin-stdlib:1.4.0"

但在3.0以后的写法为

implementation "org.jetbrains.kotlin:kotlin-stdlib:1.4.0"

在3.0版本中,compile 指令被标注为过时方法,而新增了两个依赖指令,mplement 和api,这两个都可以进行依赖添加。

两者的区别:

api:完全等同于compile指令.

implementation:这个指令的特点就是,对于使用了该命令编译的依赖,对该项目有依赖的项目将无法访问到使用该命令编译的依赖中的任何程序,也就是将该依赖隐藏在内部,而不对外部公开。

在多模块的依赖中,如果是用implementation指令声明的依赖,则其他模块不能用。

问题:AndroidStudio中的模块依赖引入后用不了

描述:

①首先在BaseLibrary模块中对AnKo库的使用添加了相应的依赖。

9d6a6264c0b0bd294a756a580ac71f19.png

②在另一个模块B中添加了对BaseLibrary模块的依赖,不出意外的话B模块应该也可以直接用AnKo库,但是使用时却报红了。

084482f28e72e960965bb9e01f0bcc3b.png

报红如下:

c234680e3004ff00de3dcc159182a2cc.png

解决:

将有关的依赖指令改为api指令声明。

4b921a5c48b9b2b6a8471a8522171437.png

修改后使用:

bf652394b48bdc197d2f5dc1ce0fd1a0.png

问题成功解决。

备注:若是多模块间的依赖关系。则均要更改。如:B模块依赖A模块,C模块依赖B模块。则应将B模块对A模块依赖的声明也改为api指令的声明,如此,C模块才能通过B模块引用A模块的依赖。

d55cfaa26876d7338e9135804e3cf91c.png

------------恢复内容结束------------

标签:依赖,api,kotlin,------------,AndroidStudio,指令,模块,引入

来源: https://www.cnblogs.com/Xiang-MY/p/14157421.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值