美文网首页
Android组件化

Android组件化

作者: Lucky胡 | 来源:发表于2019-06-17 17:04 被阅读0次

插件化与组件化
参考文献:https://blog.csdn.net/mhhyoucom/article/details/79000072

在组件化过程中,会遇上各种问题:
1、在module自己运行时正常,可以变为library融入到主程序时,会遇上各种不兼容的情况
(1)butter-knife在library中,R无法引用
升级到8.8.1版本,然后将library里的R变为R2,然后将view.getId()的switch-case改为if-else才能用。
解决方法:https://www.jianshu.com/p/c5fd14619aea
https://www.jianshu.com/p/a101cec2c960

(2)同一个模块里,会出现不同第三方的应用库冲突,特别的是v4/v7/androidx
依赖冲突Program type already present
需要找出来哪些库冲突,在编译时会提示哪些库冲突,然后双击shift查找该库有哪些第三方库调用,可以看到冲突了。
参考文献:
https://blog.csdn.net/Calvin_zhou/article/details/80880501

当然除了文中提到的解决方法,也可以通过降低或提高某个第三方库的版本,避免库冲突。

2、rxjava问题
不同的第三方库可能都使用了rxjava,但是使用的rxjava版本不一样。
More than one file was found with OS independent path 'META-INF/rxjava.properties
解决方法:
https://blog.csdn.net/lovelixue/article/details/81486651

3、AndroidX问题
第三方库作为组件,可能没法和AndroidX兼容,比如大疆SDK。
可以将android.enableJetifier = false
android.enableJetifier=true 表示将依赖包也迁移到androidx 。如果取值为false,表示不迁移依赖包到androidx,但在使用依赖包中的内容时可能会出现问题,当然了,如果你的项目中没有使用任何三方依赖,那么,此项可以设置为false

相关文章

网友评论

      本文标题:Android组件化

      本文链接:https://www.haomeiwen.com/subject/guhzfctx.html