在Android Studio中,当我使用IDE快捷方式(ctrl + click)打开一个Class(从模块A到模块B中的类)时,我希望打开该类的.java文件。如果我点击的Class不在同一模块中,它将带我进入该类的反编译版本。
compile project(':moduleB')
我很好奇是否可以通过 Gradle 配置而不是手动方式将类链接到其各自模块中的源代码 {{1} }?
答案 0 :(得分:0)
最后我找到了解决问题的解决方法,不确定这是否是解决此问题的最佳方法,但它对我有用。我愿意听取更好的方法。
在我的 moduleA build.gradle
文件中,我创建了一个包含所有模块名称依赖项的数组:
def moduleNames = ['moduleB', 'moduleC', ...]
然后我将sourceSets配置为我的模块源文件夹:
android {
...
sourceSets {
moduleNames.each {
main.java.srcDirs += "$rootDir/$it/src/main/java/"
androidTest.java.srcDirs += "$rootDir/$it/src/androidTest/java/"
test.java.srcDirs += "$rootDir/$it/src/test/java/"
}
}
}
最后我用以下代码编译我的模块:
dependencies {
...
moduleNames.each { compile project(":$it") }
}
<强>更新强>
我的问题是我使用的moduleC
也在使用moduleB
。所以Android Studio试图向我展示编译版本。我终于解决了这些问题:
compile(project(':moduleC')) {
exclude module: 'moduleB'
}
compile project(':moduleB')