
每天记录学习的新知识:项目jar和module编译优先级
发布日期:2021-05-10 05:22:48
浏览次数:17
分类:精选文章
本文共 887 字,大约阅读时间需要 2 分钟。
项目根目录下的build.gradle文件主要配置了Java编译的优先级和自定义编译选项。
在allprojects块中,设置了优先编译顺序,并使得所有编译任务依赖于Android应用库(applib)的编译结果。具体而言:
allprojects { repositories { google() jcenter() } tasks.withType(JavaCompile) { options.compilerArgs.add('-Xbootclasspath/p:App/ch_classes.jar') }}
这一设置确保了Android应用模块的编译优先于库模块,减少了编译时间,并通过自定义的编译选项加载指定的BOOTCLASSPATH文件。
此外,在项目根目录下,settings.gradle文件导入了依赖关系:
include ':applib'include ':app'
这意味着Applib和App模块将依赖于这些项目,在本地项目中生效。值得注意的是,项目根目录下Applib模块中的依赖管理可能需要单独配置,特别是在处理完全静态的依赖时,建议在模块级别手动指定。
模块级别的build.gradle文件则集中在配置依赖项和编译选项:
- 所有依赖项都需要在“implementation”或“compileOnly”中注明,以确保依赖仅在编译或运行时使用。
- 通过“api"配置可将依赖项暴露给链接的模块,确保其他模块可访问相关的传递依赖。
例如:
dependencies { implementation 'com.example.lib:jar' api 'com.example.dto:api'}
这种方式不仅简化了依赖管理,还确保了模块间的兼容性。在实际应用中,还建议检查传递依赖的latest stable版本,以避免版本冲突。
总体来说,合理配置Gradle项目的依赖管理和编译优先级能够显著提升开发效率,同时确保模块间的稳定衔接。
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2025年04月20日 20时23分30秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
photon磁力下载工具
2019-03-06
LeetCode 637 二叉树的层平均值-简单
2019-03-06
Java虚拟机结构(内存,类加载器,执行引擎)
2019-03-07
制作横版游戏KillBear第9课:暂停层+屏蔽下层监听
2019-03-07
Redis-day2-五种数据结构类型与数据持久化AOF+RDB
2019-03-07
IOS开发Swif笔记13-初始化
2019-03-07
IOS开发Swift笔记16-错误处理
2019-03-07
【电商吧 - 4】电商场景数值计算那些坑
2019-03-07
Java 天气预报WebService
2019-03-07
Spring中bean的加载过程
2019-03-07
mysql里Date类型的处理
2019-03-07
MySQL索引实现
2019-03-07
redis中RDB和AOF的区别
2019-03-07
内核线程、轻量级进程、用户线程的区别和联系
2019-03-07
《STM32从零开始学习历程》——CAN相关结构体
2019-03-07
Dubbo笔记 ② : 架构概述
2019-03-07
ROS参数服务器
2019-03-07
malloc分配0个字节
2019-03-07
new与delete细节探索
2019-03-07