Gradle:同一项目上的 Java 和 Android 子项目

Guy*_*afe 5 java android intellij-idea gradle

TL;DR:是在完全不同的 Gradle 项目上开发纯 Java 和 Android 应用程序的唯一方法吗?

我正在开发一个项目,其中包括一个 Android 应用程序和一个 Java 后端(以及一些其他常见的 API)。
作为 IDE,我使用的是 IntelliJ Idea。
我想要一个 Gradle 项目(将在单个 Idea 实例上打开),其中包含所有应用程序作为子项目。

我的问题是,为了允许 Android 插件,我需要buildScriptbuild.gradle文件的部分中设置它:

dependencies {
    classpath 'com.android.tools.build:gradle:2.2.3'
}
Run Code Online (Sandbox Code Playgroud)

这会在整个 Gradle 构建过程中强制使用 android 插件,并导致纯 Java 子项目出错(它们被自动设置为使用 Android SDK 而不是 Java SDK 构建)。

我想到的一种解决方法是创建两个单独的项目(一个用于 Android,一个用于 Java),将通用 JAR 导出到本地 Maven 存储库中,然后从那里将其导入到 Android 项目中。

有没有更好的解决方案可以让我将所有代码库放在同一个地方?

lan*_*ava 0

每个项目都有自己的构建脚本类路径

根目录/build.gradle

project(':java-project') {
    apply plugin: 'java'
}

project(':andoid-project') {
    buildscript {
        dependencies {
            classpath 'com.android.tools.build:gradle:2.2.3'
        }
    }
    apply plugin: 'android'
}
Run Code Online (Sandbox Code Playgroud)