我有一个android项目,我希望通过将一个模块作为库项目来分离两个模块。但是将成为库的一部分的类扩展了一个将在根项目中的类。那么,我如何在build.gradle中链接这两个?
根项目的Gradle文件包含:
sourceSets {
main {
res.srcDirs = ['res']
main.java.srcDirs = ['src']
manifest.srcFile 'AndroidManifest.xml'
proto.srcDirs 'protos/'
}
}
dependencies {
compile files('libs/host-libprotobuf-java-2.3.0-nano.jar')
compile files('libs/protobuf-java-2.3.0.jar')
compile project('lib')
}
库项目gradle文件包含:
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
在这种情况下,它会在' lib'中显示错误。我正在扩展根项目类的项目。如果我将库gradle文件中的java.srcDirs修改为
java.srcDirs = ['src', '../src']
该类在没有任何编译问题的情况下得到扩展,但在其他类的根项目中会出现问题。
那么,有人能告诉我如何将这两者联系起来吗?
答案 0 :(得分:1)
循环依赖(模块)是一个非常糟糕的主意。你应该总是避免它们。
解决方案: