封面是一张冰山图,哪里的冰山不晓得,我真的没去过啊,只是借来消消暑。炎炎夏日,看一眼冰山和水,是不是顿感清凉许多?——其实,看一眼自己的工资卡余额,那消暑效果大概是最好的,简直如坠冰窟雪窖,对不?
实际项目中我们经常会需要依赖一些module,依赖的时候总会出现各种稀奇古怪的问题,今天就总结一二。
1、导入module之后,在 Project Structure 中看不到导入的module
问题现象:
解决方案:
将所需要的module通过 File--new--import Module 导入(或者直将module直接粘贴到项目根目录下)
打开当前项目的 settings.gradle ,将新导入的module追加到末尾,比如: 追加时,命名格式为:‘:module名称’
2、Manifest Merger failed with multiple errors
参考:https://stackoverflow.com/questions/35842955/manifest-merger-failed-with-multiple-errors-in-android-studio
https://www.zhihu.com/question/36645628
我的问题所在:
将 PictureSelector作为module导入到项目时,实际导入了两个module 一个是 picture_library (图片/视频选择的核心),一个时 ucrop (图片裁剪)。
picturelibrary 的清单文件不为空,并且在 application 节点中定义了 theme, 而我自己项目的清单文件中,也在 application节点中定义了项目,所以,二者冲突了,将pictruelibrary 中的 theme 删除后,问题解决。
3、Error:Unable to resolve dependency
这个问题之前单独总结过,复制下面链接到浏览器查看即可。https://www.jianshu.com/p/c4bbd66d842a
4、'com.android.support:appcompat-v7' has different version for the compile (26.1.0) and runtime (27.0.1) classpath
参考链接:https://github.com/flutter/flutter/issues/14020
具体原因:
自己项目和导入的module在各自的清单文件的dependencies 节点内依赖了相同的组件,但是两者版本不一致!!(通常是自己项目的版本低,才会出现这个问题,)
在我们的项目中,引用了下面两个support库,但是这两个版本一开始是低于 新导入的 picture_library 中的版本,所以,修改成一致的之后,正常编译了
整理:
网络资料中一般都是说,编译版本和目标版本的差异可能会出现这个问题。但是,根据我的解决过程发现,依赖包的版本低于导入module中的版本也不行(还是导入 PictrueSelector 的 picture_library时,我们自己的项目和这个module中都依赖了 glide ,但是,我们项目中的版本高于导入module的,所以,没有报错)
领取专属 10元无门槛券
私享最新 技术干货