繁体   English   中英

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

[英]Android Studio: How do I include a Java Module in an Android Module?

在Android Studio中,我有一个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

我将Android Studio从2.2更新到了2.3,此问题消失了,因此看起来好像是IDE错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM