我正在将我的(libgdx)核心模块
与android模块
集成,以将我的整个项目编译成一个大项目。然而,在这次集成的最后,我遇到了一个我以前没有想到的问题。
我无法从核心模块
访问android模块
中的函数。但是,我可以从 android 访问 core。我使用默认的 libgdx setup.jar
为 Android 创建 libgdx 项目。我尝试将 android 模块
作为依赖项包含在 core 模块
中,但这会导致出现错误,指出 Error: Circular reference Between items: :android -> :核心->:android
。所以我想为什么不制作另一个java模块,使得another_module
依赖于core module
,然后android module
将依赖于another_module
.但这样做会导致此错误,指出 Error:Module ':core:1.0'depends on one or more Android Libraries but is a jar
。我尝试将 another_module
创建为 java 库
,但错误是相同的。
现在我确信有一个解决方案。也许在android模块
中以某种方式创建一个核心模块
可以访问的接口(interface)。
我对这一切都很陌生。有什么建议、推荐或解决方案吗?
最佳答案
经过大量研究,我找到了解决问题的方法。我们可以借助接口(interface)来解决这个问题,而无需触及 Gradle
部分。我们所要做的就是在core模块
中创建一个接口(interface),然后在android模块
中的某个类中实现它,然后将该类传递给core模块
通过 AndroidLauncher
。
详细信息请参阅libGDX on Interfacing with platform specific code
我不会删除这篇文章,以便其他也面临此问题的人可以看到这篇文章,而不会浪费大量时间来尝试修复 Gradle
。
关于java - 从 libgdx 中的核心模块类访问 Android 模块类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43418024/