CheckResourceConflict:Android自动检测资源冲突的gradle插件(用于检查冲突资源的Android Gradle插件) 源码
一,引言 在Android的日常开发中,我们会使用到大量的第三方库或者自己编写的组件库,这些依赖库中资源加上主工程本身的资源,可能会发生同名冲突,会发生资源相互覆盖的现象。 由于资源覆盖不会有任何提示,而且只会在APP运行到相关代码时暴露出来,如果测试不细致的话,很容易把问题带到线上,造成严重后果。发生过两起由于资源覆盖导致的实际问题: 颜色资源被覆盖 我们有两款APP分别记作A和B,它们同时依赖于一个一个组件组件记作C,C中有个颜色资源称为@color/main_color ,B项目在主工程中也同时声明了一个同名的颜色,但是资源的值与组件C中不一样,最终导致B项目中的这种显示效果异常。 布局资源被覆盖 如果您认为颜色资源被覆盖最大只影响显示效果,而不算严重的话,那么再来看这个布局资源被覆盖的问题,它是有可能引起崩溃的。主工程中,由于某些需求,需要把这个业务相关的代码迁移到一个独立的组件库
下载地址
用户评论