Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在非Android Java项目中使用Android应用程序的一部分_Java_Android_Intellij Idea_Dependencies_Android Studio - Fatal编程技术网

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

在非Android Java项目中使用Android应用程序的一部分,java,android,intellij-idea,dependencies,android-studio,Java,Android,Intellij Idea,Dependencies,Android Studio,我正在为一个应用程序开发一个服务器后端组件,目标之一是记录通过该应用程序传输的所有消息(使用MQTT)。为此,我想将应用程序用作一个排序库,这样我就可以使用其中定义的对象来解析通过的消息,因为没有一条消息将作为标准类型传输。我使用IntelliJ进行Java开发,使用Android Studio进行Android开发。这可能吗?我以前能够将代码作为模块导入,这让我可以使用其中定义的类型,但当我构建项目时,它也尝试构建Android代码,但失败了,因为IntelliJ没有设置Android依赖项。

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

尝试将整个Android应用程序作为库导入到不同的代码库中可能行不通;你不希望一个非Android应用程序将所有的Android代码都链接在一起,而有了资源和整个环境,就很难让它编译


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

“因为没有任何消息将作为标准类型传输”——请使用与平台无关的在线数据结构(XML、JSON、protobuf、Thrift等),因此,您的前端和后端将来可以用非JVM语言实现。