美文网首页
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