常用依赖 ? 1 2 3 4 5 6 7 8 9 10 11 //1.直接依赖第三方开源库,一般是托管在 jitpack 或者 jcenter implementation com.google.code.gson:gson:2.2.4 implementation com.android.support:cardview-v7:25.0.0 implementation com.android.support:design:2
常用依赖
库工程依赖传递问题 1、依赖常用的基本类型有:provided和compile,provided 只在编译生效不会打包到 apk 或 aar 中;compile 是会打包到 apk或 aar 中的(如果是库工程的话有特殊情况,参考下面3). 2、app 工程的当前(compile+) 的依赖都会打包到 app 中 3、库工程中: 1) jar 包:远程依赖不会打包到 aar 中;本地依赖会; 2) aar:远程和本地都不不会打包到 aar中. 3) 如果你要提供你的库工程的 aar 给他人,你需要同时告诉他这个库工程依赖的其他aar 和远程 jar包(因为他们没有打包到 aar 中) 4) 如果通过工程依赖(即compile project(':lib')的方式), 依赖是可以传递的,所以不需要在声明一次依赖. 去掉重复依赖 1.第三方库中同样使用了implementation或者compile依赖相同的库
2.在不同的库中出现相同的so文件 pickFirst只会打包第一个遇到的冲突的so,merge(碰到冲突会合并)和exclude(直接排除匹配到的文件,不建议使用)
遇到这种错误可以通过上面方法尝试解决
补充知识:Gradle依赖的统一管理,解决依赖冲突 看见别人在用implementation rootProject.ext.dependencies["xxxx"]不知道是什么意思,上网查了一下,原来是为了解决或者说预防gradle依赖冲突的问题。 在项目开发中我们会经常引入多个Module,然而每个Module中又包含了V4、V7,为了升级新版本依赖包只用更改一次,我们决定采用Gradle依赖的统一管理,避免重复繁琐的劳动。 记录get到的新知识,用法如下: 1.在Project目录下新建config.gradle文件,文件名可自定义
具体内容如下:
2.在Project的build.gradle中添加
3.在modle的build.gradle中添加引用
(两个文件中有不对应的依赖方法,that's ok, 只是粘贴代码的时候删除了一些,知道用法就行了) |
2022-04-23
2022-01-26
2021-11-15
2021-08-02
2019-12-15