【发布时间】:2017-01-30 06:56:31
【问题描述】:
TL;DR:开发纯 Java 和 Android 应用程序的唯一方法是在完全不同的 Gradle 项目上吗?
我正在开发一个项目,其中包括一个 Android 应用程序和一个 Java 后端(以及一些其他常见的 API)。
作为 IDE,我正在使用 IntelliJ Idea。
我想要一个 Gradle 项目(将在单个 Idea 实例上打开),其中包含所有应用程序作为子项目。
我的问题是,为了允许Android插件,我需要在build.gradle文件的buildScript部分设置它:
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
}
这会在整个 Gradle 构建过程中强制使用 android 插件,并导致纯 Java 子项目出错(它们会自动设置为使用 Android SDK 而不是 Java SDK 构建)。
我想到的解决方法是创建两个单独的项目(一个用于 Android,一个用于 Java),将通用 JAR 导出到本地 Maven 存储库,然后从那里将其导入到 Android 项目中。
是否有更好的解决方案可以让我将所有代码库放在同一个地方?
【问题讨论】:
-
您可以使用 Android Studio 在一个项目中同时创建 android 和 java 模块。对于 android gradle 使用
apply plugin: 'com.android.application'和对于 java gradle 使用apply plugin: 'java' -
这行不通:我收到一条消息:
Plugin with id 'com.android.application' not found.只有在我将com.android.tools.build:gradle:2.2.3添加到 buildGradle 部分内的类路径依赖项中时,该插件才会被识别。 -
是的。应将其添加到项目级 gradle 文件中
-
这是我要避免的:以这种方式设置类路径,强制所有项目使用 Android 插件,而不是 Java 插件。
-
那么我想如果你使用 2 个不同的项目会更好。寻找其他方式将它们相互联系起来。例如带有 jar 的 Maven 仓库
标签: java android intellij-idea gradle