java - 在非 Android Java 项目中使用 Android 应用程序的一部分

标签 java android intellij-idea dependencies android-studio

我正在为应用程序开发服务器后端组件,目标之一是记录通过应用程序传输的所有消息(使用 MQTT)。为此,我想将该应用程序用作某种库,以便我可以使用其中定义的对象来解析通过的消息,因为没有任何消息会作为标准类型传输。我使用 IntelliJ 进行 Java 开发,使用 Android Studio 进行 Android 开发。这可能吗?我以前能够将代码作为模块导入,这让我可以使用其中定义的类型,但是当我去构建项目时,它也尝试构建 Android 代码,但失败了,因为 IntelliJ 没有设置 Android 依赖项。我应该尝试将 Android SDK 设置为应用程序模块中的依赖项,然后进行构建吗?或者我以错误的方式处理这个问题? (如果可能的话)我知道还有一些库项目看起来像是一个可能的解决方案,它只需要将所有适用的代码重构到不同的项目中,我希望这不是必要的。

最佳答案

尝试将整个 Android 应用程序作为库导入到不同的代码库中可能行不通;您不希望非 Android 应用程序链接所有 Android 代码,并且在资源和整个环境的情况下,很难让它编译。<​​/p>

更好的方法是获取需要跨平台工作的所有代码,并将其提炼成一个可以包含在多个上下文中的普通 Java 库。在 Android 端,您可以将其作为普通 Java 库项目包含在内,或者将其编译为 jar 并包含该 jar。

关于java - 在非 Android Java 项目中使用 Android 应用程序的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20456014/

相关文章:

java - 即使代码只执行一次,Intellij 断点也会停止执行两次

java - 如何配置 JMX over SSL 使用的 TLS 版本?

java - MouseEvents 和 Icon/ImageIcon

java - For 循环不会向数组添加点

android - 如何在我的非 Canvas 菜单按钮旁边获得两个对象?

intellij-idea - Intellilj Idea TODO 搜索空间以包含其他文件类型,例如.md 和 .asciidoc

Java 控制台应用程序清理

android - 使用 Fresco 的圆形进度条

c++ - 在 Intellij IDEA for Windows 中配置 C++ SDK

java - IntelliJ IDEA 建议用 foreach 方法替换 for 循环。我应该尽可能这样做吗?