aar打包提供给使用方时,可能出现各种问题。譬如:接受方集成后发现编译报错。一般情况下主要有:
1.构建、kotlin语言、插件版本不一致;
2.相应的依赖版本不一致;
3. so库的ndk不一致或者不全;(搞清楚接收方的ndk abiFilters的范围)
解决思路也是:接受方使用一致的版本(或者引用公共gradle文件依赖,或者手动改为一致),或者exclude掉冲突组件,而这需要仔细看build的警告、错误日志以及有去排除可能错误的手段。
这个错误发生在升级了本地组件依赖(okhttp相关)-进行打包aar时。很明显是由于本地依赖升级发生导致。
清除缓存clean/rebuild/clear validate cache***——无效
找到该重复文件,并进行删除——无效
这里说一下定位手段:
a.double shift按键搜索该文件,点击打开
b.ctrl+鼠标左键点击文件标签即可看到该文件的树级目录(mac 是command+鼠标左键点击)。或者切换Project工程目录,点击定位即可展开目录树。
c.可以从父级文件目录删除开始
删除无效的原因在于,这是build时产生的,删除后仍旧会重生。
更改gradle版本——有效
build.gradle(project)中 提升class path 'com.android.tools.build:gradle:3.2.1'
的版本,譬如提升到3.6.0
之类。
gradle-wrapper-.properties 提升distributionUrl 的gradle版本。