Android Build 依赖项

在项目中的Build.Gradle文件中dependencies代码块中添加指定依赖项。

有三种不同类型的依赖项

本地模块依赖项

复制代码
implementation project(':mylibrary')

这个mylibrary 必须在 settings.gradle 中使用的库名称相同

本地文件依赖项

复制代码
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation files('libs/foo.jar', 'libs/bar.jar')

gradle 中的路径使用的是build.gradle的相对路径

fileTree 依赖整个目录中的文件

files 依赖多个单独的文件

依赖远程二进制文件

复制代码
implementation 'com.example.android:app-magic:12.3'

依赖项配置

implementation依赖配置

  • 编译打包:使用 implementation 添加的依赖 , 会 参与到 编译过程 , 并会 打包到 Apk 文件中 ;
  • 不会传递:此类依赖,不会传递给其他模块;

示例: A 项目 中使用 compile 依赖 B 依赖库 , 即 A 在 编译构建时需要 B 依赖库 , 最终 B 依赖库会打包到 A 项目的 Apk 文件中 ;

如果 C 项目 依赖 A 项目 , 由于 implementation 配置不会传递依赖 , C 项目是不知道 A 项目的 B 依赖库的 , 也无法访问 B 依赖库 ;

如果使用 compile 或者 api 添加依赖 , 则会有大量的依赖传递 , 构建效率 会 非常低 , 构建时会 不停的检查依赖树 , 发现依赖传递后 , 还要 添加依赖的依赖 ;因此 这两个 依赖方式 不常用 , implementation 依赖是当前最常见的依赖方式 ;

api依赖配置

  • 编译打包:依赖会参与到 编译 构建过程 , 并且会 打包到 Apk 文件 中 ;
  • 依赖传递: 如果其它工程依赖本模块 , 则会 将依赖传递到其它工程 中 ;

使用场景 : 应用中使用的 基础依赖库 , 如 : 公用模块 , 工具库 , 底层库等 , 每个项目都需要该依赖库 , 适合使用依赖传递 ;

compileOnly依赖配置

  • 编译过程 : 依赖只会 添加到编译路径中 , 参与 编译 构建过程 , 但是不会 打包到 Apk 文件 中 ;
  • 作用时机 : 该类型依赖 , 只在编译过程中做一些辅助类的工作 , 在工程中没有使用该依赖库 ;

参考:https://cloud.tencent.com/developer/article/2253906

相关推荐
xxjj998a18 小时前
Laravel3.x:奠定现代PHP框架的重要里程碑
android·开发语言·php
Yang-Never19 小时前
Git -> Git Worktree 工作树
android·开发语言·git·android studio
xingpanvip19 小时前
星盘接口开发文档:日运语料接口指南
android·开发语言·前端·css·php·lua
计算机安禾19 小时前
【Linux从入门到精通】第42篇:深入理解Linux内存管理
android·linux·运维
XD74297163619 小时前
科技早报晚报|2026年5月1日:本地优先文档、安卓离线 IDE 与双击即用密码库,今天最值得跟进的 3 个机会
android·ide·科技·科技新闻·开发者工具·本地优先
计算机安禾19 小时前
【Linux从入门到精通】第40篇:LAMP/LNMP环境一键部署脚本实战
android·linux·adb
speop20 小时前
Reasoning kingdom chapter13
android·java·python
xxjj998a20 小时前
Laravel9.x新特性全面解析
android
鸟儿不吃草20 小时前
Android Java 自定义TextView点击取词,类似百度翻译的点击一段英文中的某个单词,可以显示点击了哪个单词
android·java·开发语言
千码君201620 小时前
flutter:构建失败的原因总结
android·flutter·gradle·模拟器·dependencies·emulator