美文网首页
library-modularization 2020-11-

library-modularization 2020-11-

作者: orgcheng | 来源:发表于2020-11-09 11:41 被阅读0次

传递依赖的问题

├── app
├── library
└── modules
    ├── database
    └── ui-components

如果app通过maven依赖library,library本地依赖database和ui-components,那么app运行时会crash,找不到
database和ui-components中的类和资源。

此时可以把database和ui-components上传到maven,让library远程依赖他们,并通过pom.xml保留依赖信息

子模块的接口污染了SDK对外暴漏的接口

  1. 在kotlin中,可以通过internal关键字,把私有的接口卸载internal包名下面,类似square开源的库
  2. 通过Proguard/R8来混淆,但是不一定可靠,偶尔会出现问题,需要仔细测试

混淆文件的配置和集成到jar/aar

#将所有重命名后的包移动到给定的包中重新打包
repackageclasses com.jeroenmols.internal

可以把混淆文件放在META-INFO/proguard/proguard.txt

资源来自于:

  1. https://jeroenmols.com/blog/2020/11/04/library-modularization/
  2. https://developer.android.google.cn/studio/build/shrink-code#add-configuration

相关文章

网友评论

      本文标题:library-modularization 2020-11-

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