【问题标题】:Merging modules in Android Studio?在 Android Studio 中合并模块?
【发布时间】:2015-07-25 15:56:46
【问题描述】:

所以我一直在研究几个模块,我的“主要”模块是可编译的,然后是我弄乱某些功能和库的模块,直到我让该功能按照我想要的方式工作而不会破坏我的主要模块.我现在想将我的一个混乱模块的资源和类合并到我的“主要”模块中,而不必去各个目录复制和粘贴(例如 src 中的子目录),然后系统地遍历所有由于类路径已更改而弹出的错误。

有没有办法合并两个模块而不必做上面的,基本上合并build、src、libs?我能找到的最接近的东西是 Refactor>Move,但仅此而已,离成为可行的解决方案还差得远。

【问题讨论】:

  • 我建议你开始使用 git 来管理你的代码的不同版本。您不必担心混乱的合并,并且您的代码已备份和版本化。
  • git和模块合并是什么关系?

标签: android android-studio


【解决方案1】:

在构建多模块项目时,如果两个或多个模块定义了同名资源,则会选择优先级较高的模块中的资源。

您可以通过打开项目结构(文件 -> 项目结构 / Ctrl+Alt+Shift+S)并在 Dependencies 选项卡中单击向上和向下箭头来更改模块的相对优先级。

如果您要添加对多个库的引用,您可以通过选择一个库并使用向上和向下控件来设置它们的相对优先级(和合并顺序)。这些工具将引用的库与您的应用程序合并,从最低优先级(列表底部)到最高(列表顶部)。如果多个库定义了相同的资源 ID,则工具会从具有更高优先级的库中选择资源。应用程序本身具有最高优先级,并且其资源始终优先于库中定义的相同资源 ID 使用。 https://developer.android.com/sdk/installing/create-project.html

manifest.xml 文件也将或多或少直观地合并。不同文件中同一节点的属性相加,除非存在会引发异常的冲突并且您必须解决冲突。每个模块清单的不同节点将被添加到最终清单中。例如,您可以在库模块的 manifest.xml 中定义一个服务,而无需向主模块清单文件添加任何内容,一切都会好起来的。

您可以阅读有关清单合并的更多信息here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-09
    • 1970-01-01
    • 1970-01-01
    • 2023-01-07
    • 1970-01-01
    相关资源
    最近更新 更多