在Android Studio中,當我使用IDE快捷方式(ctrl + click)打開一個類(從模塊A到模塊B中的類)時,我期望打開該類的.java文件。如果我點擊的類不在同一模塊中,它會帶我到該類的反編譯版本。如何配置Android Studio項目以使用實際源而不是反編譯?
compile project(':moduleB')
我很好奇,如果是有其各自的模塊中只有搖籃配置代替手動方式Choose Sources...
的類鏈接到源代碼的方式?
在Android Studio中,當我使用IDE快捷方式(ctrl + click)打開一個類(從模塊A到模塊B中的類)時,我期望打開該類的.java文件。如果我點擊的類不在同一模塊中,它會帶我到該類的反編譯版本。如何配置Android Studio項目以使用實際源而不是反編譯?
compile project(':moduleB')
我很好奇,如果是有其各自的模塊中只有搖籃配置代替手動方式Choose Sources...
的類鏈接到源代碼的方式?
最後,我找到了一個解決辦法,以解決我的問題,不知道這是否是解決它的最好方法,但它爲我工作。我很樂意聽到更好的方法。
在我moduleAbuild.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") }
}
UPDATE
我的問題是,我是使用通過使用moduleB
過一個moduleC
。所以Android Studio試圖向我展示編譯版本。我終於用這幾行修正了:
compile(project(':moduleC')) {
exclude module: 'moduleB'
}
compile project(':moduleB')
你有'settings.gradle'文件嗎? – njzk2
是的,我做'include':moduleB',':moduleC'' – epool