在Android工作室我有一个Android模块,我们称之为MyAndroid。我也有一个Java模块(不是一个独立的JAR,而是一个模块中的完整Java项目),我们称之为MyJava。
我希望MyAndroid将MyJava用作项目依赖项。我尝试过使用标准项目编译:
compile project(':myjava')
MyAndroid编译,我甚至可以在"外部库"下看到myjava.jar。但是MyAndroid源代码无法看到MyJava源代码中的任何类。好像MyJava根本没有关联。
我做错了吗?在依赖Java模块而不是其他Android模块时是否有额外的细节?
修改 我打开了MyAndroid.iml文件,看看是否有任何东西看起来很明显。我注意到MyJava没有。我手动添加:
<orderEntry type="module" module-name="myjava" exported="" />
这似乎解决了源代码解析问题。但我认为这次手动更改将在我运行另一个Gradle同步时消失。知道为什么这不存在以及如何告诉Gradle这样做?
编辑#2
我仍然不知道为什么Java模块无法正确链接到MyAndroid,但我放弃并添加了一个Gradle任务,强制<orderEntry>
节点进入IML文件:
我在此答案中修改了代码示例以满足我的需求: https://stackoverflow.com/a/24138659/3724038
答案 0 :(得分:0)
我将Android Studio从2.2更新到2.3,这个问题消失了,所以看起来它是一个IDE错误。