【问题标题】:How do I add a java gradle submodule to my Android module?如何将 java gradle 子模块添加到我的 Android 模块?
【发布时间】:2014-07-03 07:47:28
【问题描述】:

假设我在带有 Gradle 的 IntelliJ Idea 中有一个 Android 应用程序项目。叫它MyApplication。 我想要做的是添加一个普通的java库模块(不是Android库项目)作为MyApplication的子模块。让我们将此模块称为testlib。 然后在构建整个项目时,我希望将此模块编译为 jar 并包含到 MyApplication 的 /libs 文件夹中。

我尝试了什么:我创建了一个子模块 testlib 并将其作为对 MyApplication 的依赖项包含在内,但我收到以下警告:

警告:Gradle:模块 'testlib' 不会被编译。不幸的是你 不能将非 Gradle Java 模块和 Android-Gradle 模块合二为一 项目。

这可能吗?

【问题讨论】:

  • 绝对有可能。我有一个包含 java 模块和 android 模块的项目。看起来您的 java 模块可能没有配置为 gradle 模块,所以这将是首先要解决的问题。然后,您需要添加一个自定义 gradle 任务以首先构建 java 模块,然后将编译后的 jar 复制到 libs 文件夹,然后构建 android 模块。我现在没有时间给你任何代码,但希望这能指引你正确的方向。
  • 你解决了这个问题吗?我也有同样的情况,但我被困住了:(
  • 我得到同样的错误。我有一个带有 maven 的 java 模块和一个 android gradle 模块。

标签: java android intellij-idea gradle


【解决方案1】:

如果您在 IntelliJ 中将项目创建为 Android-gradle 项目,那么当您转到“添加新模块”窗口时,您应该会看到一个“Gradle:Java 库”选项,如下所示:

【讨论】:

    【解决方案2】:

    IntelliJ IDEA 不支持在一个项目中使用 Gradle 和 Non-Gradle 模块。他们论坛中的comment from JetBrains 清楚地说明了这一点。

    解决方案是将 Maven 模块转换为 Gradle 模块或将项目一分为二。使用后一种方法,如果您 在构建之前使用 Maven 构建普通的 java 库模块 Gradle 项目,您仍然可以将其用作依赖项 Android 应用程序项目。

    注意在多模块中使用不同的 Java 语言源代码级别 梯度项目。 IntelliJ IDEA 无法正确处理它们,因为 IntelliJ IDEA 或 Gradle 中的错误。 (有待讨论 这是否应该在 IDE 或 Gradle 中修复。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-21
      • 1970-01-01
      • 1970-01-01
      • 2012-02-20
      • 1970-01-01
      • 2013-07-02
      • 1970-01-01
      • 2020-03-01
      相关资源
      最近更新 更多