我有一个包含多个模块的项目,一个模块使用其他模块功能。因此,具有依赖项的模块具有编译依赖项中的jar文件。因此,当我尝试转到源代码时,它会转到jar中的.class文件。相反,我希望它转到依赖模块的.java文件。
一种方法是手动执行AttachSources。
因为,我有多个具有多个依赖关系的模块;
项目结构:
ProjectA:
以及更多模块。
答案 0 :(得分:3)
为了访问模块'来自项目的来源,而不是导入jar,你将不得不使用compile project (':module')
。
例如,如果我必须构建您的结构,它将如下所示:
ProjectA:(在com.example.projecta下)
dependencies {
... //Other dependencies(appcompat, jar files...)
compile project (':moduleaa') //Dependent of moduleAA
...
}
ModuleAA:(在com.example.moduleaa下)
dependencies {
...
compile project (':moduleab') //Dependent of moduleAB
...
}
ModuleAB (在com.example.moduleab下)
dependencies {
...
compile project (':moduleac') //Dependent of moduleAC
...
}
ModuleAC (在com.example.moduleac下)
dependencies {
...
}
现在,ProjectA可以访问任何模块及其依赖项。
要在项目和模块的源代码之间导航,可以使用快捷键来显示源代码。您可以在File > Settings > Keymap > Main menu > View > Jump to source ( or Show source)
下找到键盘映射。 (通常控制+左键单击,或F12)。
修改强>
如果您在其他项目中有一个模块,您要导入哪些模块并且能够像当前项目中的模块一样进行修改,则可以使用以下命令修改当前项目的settings.gradle:
include ':module'
project(':module').projectDir = new File("/<path_to_module>/other_project/module")
然后该模块将出现在您当前的项目中。