Module相互依赖问题(2018.9.29)

Module相互依赖问题(2018.9.29),第1张

以电商项目为例 ,项目ModuleA依赖于功能业务ModuleB,业务ModuleB又依赖于核心ModuleC。依赖关系如图所示:

2.1. File ——->Project Structure——->Module A(你的module工程)

2.2. 在右边的页签上点击Dependencies,点击右边的“+”添加要导入的工程Module B(这里选择你要导入的module),如图:

先查看Module A的build.gradle中的文件来确认导入是否成功,通常导入成功在

build.gradle中的dependencies中会有compile project(‘:module B’)的字样,如果没有则代表导入不成功。

unspecified on project autolayouttest resolves to an APK archive which is not supported as a compilation dependency XXX等,原因是因为被依赖的ModuleB的此时还是一个Application,从Module B的build.gradle文件里面可以看到:

apply plugin: 'com.android.application'

所以这里要将application改成依赖库的属性,具体如下:

apply plugin: 'com.android.library''

作为一个库不允许设置applicationId,需要将builde.gradle — android — defaultConfig中的applicationId删除:

这时,Module工程的相互依赖导入基本完成,最关键的是,这样比单独导出jar包来用稍微方便点。

本想添加一个aar到基础module中,结果引用该module的库全部报

1)添加arr到app module ->libs目录

2) 在build.gradle中配置 (注:repositories和android、dependencies处在同一级别的目录下。如不添加该配置,同步依赖会失败,提示 Failed to resolve)

3)引入

注:当项目存在多个module时,如果想在某个library module中依赖aar文件时,那么其它所有直接或间接依赖该library module的module中都应声明build.gradle文件中进行统一配置声明。否则会同步依赖失败,提示 Failed to resolve

1、方法一

3)在依赖aar文件的library module下的build.gradle文件中添加依赖如下:

2、方法二(简单粗爆)

1)在project的build.gradle文件中统一配置如下:

3)在依赖aar文件的library module下的build.gradle文件中添加依赖如下:

1、主mouble

2、子mouble

1:问题描述

在module中依赖aar后,运行会报app找不到module所依赖的aar包,如:

2:问题修复方案:

方案一:

在所有需要依赖此module的build.gradle 文件中添加此配置:

若是module很多的话,此方法需要在每个module中配置下

方案二:

在项目根目录中的build.gradle中添加此配置:

省了很多事


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11365012.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存