美文网首页
组件化踩坑记录

组件化踩坑记录

作者: Straw_Hat | 来源:发表于2018-02-25 17:53 被阅读0次
  • 混淆问题
  • butterknife
  • 资源冲突,覆盖问题
  • 打aar包需要注意的事项

混淆问题

推荐两种混淆方式

  1. @keep
  2. customerProguard

不需要混淆的代码使用@keep注释,第三方sdk混淆在module 的 build.gradle 中使用customerProguard配置混淆规则。
使用@keep可以保证不需要混淆的代码在组件化等代码移动操作时,保持不被混淆,而使用混淆文件方式极容易在移动代码后,忘记修改混淆文件内的代码路径。

butterknife

问题描述:

R变成R2 ,注解中资源需要修改为R2,而注解外的还需要保持R。
参考:https://www.jianshu.com/p/c6e3f67e391e

资源问题

问题描述:

不同组件内的资源名相同,导致最后的apk包部分资源被覆盖。

解决方法:

资源起名时带上固定前缀,例如 lib1_user_icon,lib2_user_icon。
module 的build.gradle文件添加resourcePrefix ,在编译时会检查module中的资源名称前缀,对于前缀不符合的,会有警告提示。(正在尝试把警告提示修改为Error 提示,中断编译过程)

aar打包和引用

1. 版本号

问题描述:

module 的版本号不断叠加,特别是在测试阶段,每改动几个bug就需要打一个aar包,每次手动增加版本号太过繁琐。

解决方案:

使用git commit 次数 作为版本号。主模块使用latest.realse依赖模块。

2. 开发环境与生产环境

问题描述:

开发环境与生产环境的自动切换
解决方法: 编译上传aar包时,需要区分realse仓库和dev仓库,使用debugImplementation、releaseImplementation来加载不同仓库的aar包。

相关文章

  • 组件化踩坑记录

    混淆问题 butterknife 资源冲突,覆盖问题 打aar包需要注意的事项 混淆问题 推荐两种混淆方式 @ke...

  • iOS pod组件化踩坑记录

    1、pod repo push的时候可能报错,说找不到分支,这个问题挺有意思的,我们自己搭建的gitlab服务器,...

  • 组件化踩坑总结

     经历了项目组件化(准备工作)项目组件化(一)创建本地私有库项目组件化(二)创建远程私有库这些天也踩了不少的坑出来...

  • iOS组件化踩坑

    之前写过一片组件化和创建私有pod的文章组件化和私有pod源仓库,这几天碰到一个比较庞大的项目,终于有机会来真正的...

  • 骨架屏(文章中间)

    分享 模板封装 组件封装(组件化) 骨架屏 小程序seo处理 对于在iphone系列下安全区踩的坑以及处理方式 百...

  • iOS组件化Cocoapods踩坑

    一、推送私有库时候忽略警告 二、框架中如果使用Xib加载crash的情况出现通过mainBundle加载不了,无法...

  • 2020-10-19随笔 踩坑0传值

    踩坑:当值传入0时,if条件判断时候会自己转换,记录踩坑。

  • Weex入门踩坑记录

    Weex入门踩坑记录

  • 谈谈我的理解的Android组件化——2

    上一期的组件化以及本次的内容 发布包到本地库 搭建私有仓库,发布到私有仓库中 踩坑 搭建仓库的目的 上一期的组件化...

  • 用rollup打包vue组件库

    前言 网上关于使用 rollup 打包 vue 组件的资料寥寥可数,故记录下 rollup 打包的踩坑之路 多仓库...

网友评论

      本文标题:组件化踩坑记录

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