如何解决android studio多个library库含有相同引用
答案:2 悬赏:40 手机版
解决时间 2021-04-14 20:58
- 提问者网友:人生佛魔见
- 2021-04-14 02:03
如何解决android studio多个library库含有相同引用
最佳答案
- 五星知识达人网友:你可爱的野爹
- 2021-04-14 03:39
千锋扣丁学堂Android开发为您解答: 假设项目引用了类库 A 和类库 B ,同时,这两个类库都依赖包 C 。 1. 如果 A 、B 、C 均为 Maven 依赖,可以直接使用,不会存在冲突问题。 如果还是有问题,则在主项目可以去除 A 、B 中的 C 。 主项目: compile 'a.group:a.artifactId:a.version' { exclude group: 'c.groupId', module: 'c.artifactId' } compile 'b.group:b.artifactId:b.version' { exclude group: 'c.groupId', module: 'c.artifactId' } compile 'c.groupId:c.artifactId:c.version' 2. 如果 A 、B 均为 Maven 依赖,C 为 jar 依赖。则将 C 复制到主项目、A 、B 中,主项目 compile C ,A 、B provided C 。 主项目: compile files('libs/C.jar') A 、B 项目:provided files('libs/xx.jar') 3. 如果 A 、B 均为 Library Project 依赖,C 为 jar 依赖。同 2 。 4. 如果 A 、B 均为 Library Project 依赖,C 为 Maven 依赖。同 2 或者 1(Maven 依赖也可以进行 provided 处理)。 5. 如果 A 为 Maven 依赖或者 Library Project 依赖,B 为 jar 依赖,C 为 jar 依赖。 A 项目:provided files('libs/xx.jar') B 项目和主项目,不做其他任何处理。 6....千锋扣丁学堂Android开发为您解答: 假设项目引用了类库 A 和类库 B ,同时,这两个类库都依赖包 C 。 1. 如果 A 、B 、C 均为 Maven 依赖,可以直接使用,不会存在冲突问题。 如果还是有问题,则在主项目可以去除 A 、B 中的 C 。 主项目: compile 'a.group:a.artifactId:a.version' { exclude group: 'c.groupId', module: 'c.artifactId' } compile 'b.group:b.artifactId:b.version' { exclude group: 'c.groupId', module: 'c.artifactId' } compile 'c.groupId:c.artifactId:c.version' 2. 如果 A 、B 均为 Maven 依赖,C 为 jar 依赖。则将 C 复制到主项目、A 、B 中,主项目 compile C ,A 、B provided C 。 主项目: compile files('libs/C.jar') A 、B 项目:provided files('libs/xx.jar') 3. 如果 A 、B 均为 Library Project 依赖,C 为 jar 依赖。同 2 。 4. 如果 A 、B 均为 Library Project 依赖,C 为 Maven 依赖。同 2 或者 1(Maven 依赖也可以进行 provided 处理)。 5. 如果 A 为 Maven 依赖或者 Library Project 依赖,B 为 jar 依赖,C 为 jar 依赖。 A 项目:provided files('libs/xx.jar') B 项目和主项目,不做其他任何处理。 6. 如果 A 、B 、C 均为 jar 依赖,尝试重新将 A 、B 打包,将 C 剥离出来。
全部回答
- 1楼网友:几近狂妄
- 2021-04-14 05:19
在开发过程中,我们的项目(取名叫hbscustomerproject)中不可能只引入一个library库, 所以我单独建立一个android项目(注意是android项目不是library库项目,区别在这里applyplugin:'com.android.application',applyplugin:'com.android.library'),为了方便阅读,这里取名叫librarymanager 。接下来把项目中需要引入的第三方library和公司公共的library库都引入到librarymanager项目中 。最后hbscustomerproject项目只需要引入librarymanager项目即可。这样既能满足多个项目引用同一个library,只要修改librarymanager项目中的library库源码,多个项目都能得到相应的同步问题,又能更好的管理项目中引入的第三方library。接下来为大家展示怎么实现
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯