2017-01-16 146 views
0

在Android工作室我有一个Android模块,我们称之为MyAndroid。我还有一个Java模块(不是独立的JAR,而是模块中的完整Java项目),我们称之为MyJava。Android Studio:如何在Android模块中包含Java模块?

我想让MyAndroid使用MyJava作为项目依赖项。我已经使用标准的项目编译尝试:

compile project(':myjava')

MyAndroid编译,我甚至看到在“外部库”,但MyAndroid源代码无法看到米亚瓦源代码中的任何阶级的myjava.jar 。就好像MyJava根本没有关联。

我做错了什么?当依赖于Java模块而不是其他Android模块时,有没有额外的细节?


编辑 我打开了MyAndroid.iml文件,看看是否有什么明显看坏了。我注意到MyJava没有。我手动添加:

<orderEntry type="module" module-name="myjava" exported="" />

这似乎已经解决了源代码解析问题。但是我认为在我运行另一个Gradle同步的时刻,这个手动更改会消失。任何想法,为什么这不存在,我如何告诉Gradle做到这一点?


编辑#2 我仍然不知道为什么的Java模块将无法正常链接到MyAndroid,但我放弃了,并补充说,强制<orderEntry>节点到IML文件摇篮任务:

我适应了代码示例在这个答案适合我的需求: https://stackoverflow.com/a/24138659/3724038

+0

确保您的java模块已在您的应用程序的settings.gradle中注册 – avinash

+0

@avinash已确认。 Java模块出现在settings.gradle中。 – MattC

+0

尝试从项目结构选项中添加您的模块 – avinash

回答

0

我更新的Android工作室从2.2到2.3这个问题消失了,所以它看起来就像是一个IDE错误。