从 java 模块引用 android 库

Ali*_*ani 8 dependencies android gradle

长话短说!

我想向 Java 模块添加一个 Android 库依赖项,它说

警告:忽略模块 'backtory-android-sdk' 对模块 'javasample' 的依赖。Java 模块不能依赖于 Android 模块

backtory-android-sdk没有与 Android 相关的“编译依赖项”(类似于改造),如果有办法将依赖项添加到backtory-android-sdk“classes.jar”,我认为它会起作用。我怎样才能做到这一点?

说明问题...

我正在开发一个主要执行网络请求 ( backtory-android-sdk)的 Android 库,并且不太依赖于 Android 的东西,因此它可以被初始化并在 java 项目中使用。我还有一个 Java 模块(一个名为 的控制台项目javasample)用于手动测试 Android 库(也被团队的其他成员用于一些自动化测试)。这是混乱:

  • 如果我定义backtory-android-sdk为 Android 库,则无法从 中引用它javasample,抱怨警告:忽略模块 'javasample' 上模块 'backtory-android-sdk' 的依赖关系。Java 模块不能依赖于 Android 模块
  • 如果我将其定义为 Java 模块,则前面的问题解决了,但我们的用户至少必须手动添加一些清单内容(我们的 SDK 目前是一个 Android 库模块)。由于我们几乎所有的 SDK 用户都是 Android 开发人员,因此这不是很理想。

由于我知道只能发布 Android 库的源代码,因此我认为最好坚持使用 Android 库模块并将其发布为 AAR 和 JAR 两种类型,然后问题减少到引用backtory-android-sdkfrom javasample.

Nic*_*oso 5

这是因为 Android 模块包含无法在普通 Java 设置中运行的 android 组件。

  • 也许您的依赖需要倒转。否则,您的主 Java 模块将需要更新为 Android 模块。

  • 或者,如果 android 模块不执行任何特定于 Android 的操作,请将其设为常规 Java 模块

  • 最可能的情况是您需要第三个模块- 一个将两部分联系在一起的 Android 应用程序