组件化项目你可能遇到的坑

1.如果你在使用组件以application的方式运行的时候,产生这个错误

错误截图

这个错误的意思是,在链接资源的时候产生了未知的异常。这时候你需要检查项目的build.gradle文件,所依赖的模块。由于我的总项目里面有十多个可单独运行的module,我找到这个问题的方式是,一个一个运行module,直到当我发现当我在注释这行代码的时候,组件就可以单独运行起来,所以我将错误,定位到这个b_module_statistics组件。

定位问题

于是将问题定位到了这个module,打开这个module后,我发现在bulid.gradle的文件中,我是这样配置的


statistics组件

但是这是个统计组件,他只是作为一个library会被其他组件引用,他没有可以以application单独运行的功能。所以我把判断去掉,无论什么时候都让他以library的方式运行。

果然去掉判断之后,原来的项目在编译的时候就可以运行了。

2.关于组件化的项目在配置的过程中还有很多的坑,需要去解决,比如

编译时com.android.builder.merge.DuplicateRelativeFileException: More than one file was found with OS independent path 'META-INF/rxjava.properties'这个错误

需要,这样解决

packagingOptions {

            exclude 'META-INF/rxjava.properties'

        }

3.比如kotlin项目中配置ARouter kapt

kapt {

            arguments {

                arg("AROUTER_MODULE_NAME", project.getName())

            }

        }

等等,还有其他问题欢迎留言,大家一个探讨解决

你可能感兴趣的:(组件化项目你可能遇到的坑)