所以我一直在几个模块中工作,我的主要'一个是可编译的,然后我可以使用某些功能和库,直到我得到该功能以我想要的方式工作而不会破坏我的主模块。我现在想把我的一个乱七八糟的模块的资源和类合并到我的主要模块中。模块,而不必去单独的目录进行复制和粘贴(例如src中的子目录),然后系统地完成弹出的所有错误,因为类路径已经改变了等等。
有没有办法合并两个模块而不必执行上述操作,基本上是合并build,src,libs?我能找到的最接近的东西是Refactor> Move,但是它就是它,并且无法成为一个可行的解决方案。
答案 0 :(得分:1)
构建多模块项目时,如果两个或多个模块定义了具有相同名称的资源,则将选择优先级较高的模块中的资源。
您可以通过打开“项目结构”(文件 - >项目结构/ Ctrl + Alt + Shift + S)并单击“依赖关系”选项卡中的向上和向下箭头来更改模块的相对优先级。
如果要添加对多个库的引用,可以通过选择库并使用“向上”和“向下”控件来设置其相对优先级(和合并顺序)。这些工具将引用的库与您的应用程序合并,从最低优先级(列表底部)到最高(列表顶部)。如果多个库定义了相同的资源ID,则工具会从具有更高优先级的库中选择资源。应用程序本身具有最高优先级,其资源始终优先于库中定义的相同资源ID。 https://developer.android.com/sdk/installing/create-project.html
manifest.xml文件也会或多或少地直观地合并。不同文件中同一节点的属性会相加,除非存在会引发异常的冲突,您必须解决冲突。每个模块清单的不同节点将被添加到最终清单中。例如,您可以在库模块的manifest.xml中定义服务,而无需向主模块清单文件添加任何内容,一切都会正常。
您可以阅读有关清单合并here的更多信息。