从java模块引用android库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从java模块引用android库相关的知识,希望对你有一定的参考价值。
Long story short!
我想将一个android库依赖项添加到Java模块中,它说
警告:忽略模块'backage-android-sdk'对模块'javasample'的依赖性。 Java模块不能依赖于Android模块
backtory-android-sdk
没有与Android相关的“编译依赖”(类似于改造),如果有办法将依赖添加到backtory-android-sdk
的“classes.jar”,我认为它会起作用。我怎样才能做到这一点?
Explaining the issue...
我正在开发一个主要执行网络请求(backtory-android-sdk
)的Android库,并且不依赖于Android的东西,所以它可以在java项目中初始化和使用。我还有一个Java模块(一个名为javasample
的控制台项目),用于手动测试Android库(团队的其他成员也用于某些自动化测试)。这是混乱:
- 如果我将
backtory-android-sdk
定义为Android库,我无法从javasample
引用它,抱怨警告:忽略模块'backtory-android-sdk'对模块'javasample'的依赖。 Java模块不能依赖于Android模块 - 如果我将其定义为Java模块,则之前的问题会解决,但我们的用户至少必须手动添加一些清单内容(我们的SDK目前是Android库模块)。由于几乎所有SDK用户都是Android开发人员,因此这不是很理想。
由于我知道只能发布一个Android库的源代码,我认为它更好地坚持Android库模块并将其发布在两种类型的AAR和JAR中,然后问题减少到引用backtory-android-sdk
的javasample
源。
答案
这是因为Android模块包含的android组件无法在普通的Java设置上运行。
- 也许你的依赖需要被颠倒。否则,您的主Java模块将需要更新为Android模块。
- 或者,如果android模块没有执行任何特定于Android的操作,请将其作为常规Java模块。
- 最可能的情况是你需要一个第三个模块 - 一个将两个部分连接在一起的Android应用程序
以上是关于从java模块引用android库的主要内容,如果未能解决你的问题,请参考以下文章
Android App 在片段中创建 ListView 引用时关闭
如何从 Android 中的 Fragment 访问 UI 元素?