Android Studio:如何在Android模块中包含Java模块?

时间:2017-01-16 12:23:37

标签: java android android-studio gradle

在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

1 个答案:

答案 0 :(得分:0)

我将Android Studio从2.2更新到2.3,这个问题消失了,所以看起来它是一个IDE错误。