无名商城论坛

搜索
查看: 212|回复: 0

[其他技术] 【LSP】Android组件化project

[复制链接]

1万

主题

1万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
32464
发表于 2022-5-8 17:02:43 | 显示全部楼层 |阅读模式


1、组件化需要一个控制文件管理各个项目的配置包括sdk版本、依赖包等等该文件应该位于project的根目录下  
项目控制文件.png 2、project要使用控制文件,必须要build.gradle中将控制文件引入  
引入控制文件.png3、各个模块的build.gradle引入1步创建的控制文件  
配置参数.png  
依赖包.png 4、动态切换app与library模式根据控制文件中的参数(该示例为isModule)可动态切换模式  
动态切换.png5、分离AndroidMainfest文件 分离AndroidMainfest文件.pngdebug中的AndroidMainfest文件为常规配置,包含启动图标、文件等等
debug.png模块根目录下的AndroidMainfest文件,不包含启动图标等等,只有基础四大组件声明[图片上传失败...(image-d9856f-1601520061781)]6、模块间资源命名冲突当组件为library时,组件间如果资源名相同会出现冲突,我们只需要保证资源文件不存在同名即可,并且尽量保证模块前缀统一。  
定义资源名.png 7、组件化与butterknife在使用组件化与butterknife时,会提示元素值必须是常量表达式,因为在主app中,这些id都是常量,但是在组件中,这些id就不是常量了。官方的解释是从ADT14开始Library中的R文件才从静态常量变为非常量.因为如果在多个Library中可能出现id冲突的问题.在ADT14以前则采用的是将所有的资源文件和相关的代码重新随着主项目一起编译,导致编译速度过慢.因此,从ADT14开始就变成了非常量的id了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表