Android Gradle 构建和循环依赖

10

我在IntelliJ IDEA中有一个Android项目,它由两个模块组成:app和library。App依赖于library,而library又依赖于app(是的,这不好,但我只能接受现实,无法改变这一点)。在项目设置中,IDEA警告我存在循环依赖,但项目编译正确。项目结构如下所示:

project
|__app
|    |__src
|    |__build.gradle
|__libarary
|    |__src
|    |__build.gradle
|__build.gradle
|__settings.gradle

现在我正在尝试迁移到基于Gradle的新Android构建系统,在这里遇到了问题。在我的app模块的build.gradle中,我添加了对library的依赖。

compile project(":library")

我也尝试在library中添加对app的依赖,代码如下:


compile project(":app")

但在构建系统中遇到错误,当Gradle尝试组装库模块时:

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':app'.
> Failed to notify project evaluation listener.
   > Module version project:app:unspecified depends on libraries but is not a library itself

我能在不改变项目结构的情况下做什么


尝试同时构建它们! - user663896
你好,你找到解决这个问题的方法了吗? - mariosangiorgio
2
@mariosangiorgio,不幸的是,我改变了我的项目结构。 - Dmitriy Tarasov
如果可能的话,您需要将您的应用程序和库都需要使用的代码分解出来。 - Leo supports Monica Cellio
3个回答

1
这些参数已经发生了变化。
现在你需要进行重构:
在库项目中使用:
apply plugin: 'com.android.library'
在应用程序项目中使用:
apply plugin: 'com.android.application'

0
如果您在搜索与Android 3.0相同的错误时到达此处,您应该知道当前的解决方法是:
降级到kotlinVersion ='1.1.2-2'
并在gradle.properties中禁用增量构建 kotlin.incremental=false 该问题计划在下一个alpha版本中解决 https://issuetracker.google.com/issues/38447344

0
在库项目中使用: < p > < code > apply plugin: 'android-library' 在应用程序项目中使用: < p > < code > apply plugin: 'android' 确保您拥有最新的Android工具: < p > < code > classpath 'com.android.tools.build:gradle:0.5.+'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接