android 组件消失了,Android组件化的坑

毕业之前准备再做一个独立项目,有兴趣的Star一下~

https://github.com/FortuneDream/PocketExpression

里面涉及了利用Accessibility监控屏幕,组件化,Scrapy爬虫等相关代码~

这下面这个是老项目啦~做了好久了,一直在适配Android最新版本~了解一下?

https://github.com/FortuneDream/PocketMusic

好了,进入正题。

项目结构比较简单(只是尝试做了一下组件化,后续会继续划分模块)

6cd7ee96a261?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

app架构图

(随便画的。)

main:只是一个壳,集成时使用。

app:主体业务,后面会继续分割

auth:登录注册业务,这一块是常用的业务模块

core:核心包,里面包含了各个模块使用的基础属性,比如Theme,BaseApplication,BaseActivity,Color。

tools:这个tools可以脱离项目存在,可以直接移植到其他App中,有点SDK的意思。

组件化的步骤网上也讲了很多,比如

https://blog.csdn.net/guiying712/article/details/55213884

坑点:

1.最好像我的项目中的那样设置一个rootProject.ext,把所有的Version都统一这是成一致的。(具体参考Project.build)

6cd7ee96a261?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

2.组件化不要用ButterKnife,会有手动R和R2的麻烦

组件化的view.getId.因为组件的module的R文件都不是final,只有主moudle的R文件才是Final,所以只能用if else(如果有解决方法也请告知。),另外再集成组件模式的切换中IDEA会提示重新import R文件。。。(如果有解决方法也请告知。)

3.依赖的问题:

implementation A-->B,implementation/api B-->C,那么A无法引用到C的库

但是,如果api A-->B,api B-->C,A可以引用到C的库

在组件化中,一开始可以使用api,之后继续分割项目的时候就多用implementation,可以加快编译速度。

4.Android Studio的Setting的Instant Run,记得打上勾。。有坑。。

5.使用ARouter时,需要被跳转的模块或者说使用了ARouter注解的模块都要加上ARouter_Processor,不然会出现path路径找不到的情况。(只有打个了debug才会有Toast提醒。。)

6.Manifest的各个module的包名一定要设置成不同的!!!不然会在打包的时候爆出BuildConfig错误

6cd7ee96a261?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值