androidgradle依赖
‘壹’ 【Android studio】【Gradle】dependencies配置参数细解及异常解决
依赖项配置详解及异常解决
当配置 implementation 依赖项时,Gradle 会将依赖项添加到编译类路径,并仅在运行时将其打包到构建输出,适用于大多数应用和测试模块,以缩短构建时间。使用 api 配置时,依赖项不仅会添加到编译类路径和构建输出,且该模块需将依赖项以传递方式导出给其他模块,适用于对外公开API的模块。 compileOnly 配置下,依赖项仅添加到编译类路径,帮助减小APK大小,适用于编译期间需要但运行时可有可无的依赖。 runtimeOnly 则只在构建输出中添加依赖项,确保运行时可用,类似于 apk 配置。
注解处理器依赖通过 annotationProcessor 配置添加,将编译类路径与注释处理器类路径分开,优化构建性能。避免在编译类路径上找到注释处理器引发构建错误,确保使用正确配置。
lint 检查通过 lintChecks 或 lintPublish 配置实现,前者在构建项目时执行检查,而后者则将检查打包在 AAR 库中,适用于需要将 lint 检查应用于使用 AAR 的项目的场景。
已弃用的配置包括 apk、compile 和 provided,分别对应不同功能和使用场景,开发者需根据项目需求选择合适配置。
遇到错误 Error: Annotation processors must be explicitly declared now. 时,应使用 annotationProcessor 配置依赖项,确保注解处理器在项目中明确声明。
解决构建异常时,应注意变体感知型依赖项管理机制下的应用包含库依赖项不兼容的构建类型或变种维度。可通过 matchingFallbacks 指定替代匹配策略,确保构建过程顺利。
若在运行时类路径上发现重复类导致错误,检查是否存在二进制文件依赖项与库直接依赖之间的重复,或本地二进制文件依赖项与远程依赖项是否为同一库,必要时移除重复项。
解决类路径冲突时,考虑将所需版本的依赖项作为 api 依赖项添加到库模块,或确保在两个模块中声明相同版本的依赖项,维护项目全局属性的一致性。
所有变种都应属于一个指定的变种维度,否则构建将失败。确保每个模块的所有变种分配给同一维度,若仅有单一维度自动分配则无需额外配置。
智能API接口开发工具smartApi-v1.0.0版本已上线,提供对国外postman的替代功能,功能精简,支持API调试开发。下载地址:pan..com/s/1m5dY_p...