Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.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
Java 如何在Android中使用Smack 4.1?_Java_Android_Eclipse_Xmpp_Smack - Fatal编程技术网

Java 如何在Android中使用Smack 4.1?

Java 如何在Android中使用Smack 4.1?,java,android,eclipse,xmpp,smack,Java,Android,Eclipse,Xmpp,Smack,我查看这个答案是为了了解可用的XMPP API。Smack似乎是个不错的选择 在Smack 4.1之前,必须依赖aSmack。从4.1开始,Smack将在Android上本机运行。我有几个“入门”问题 问题1: 我如何在Eclipse的Android项目中包含Smack 4.1? 这里的说明似乎是针对Android Studio的 问题2: Android的代码会保持不变吗? 我在这里指的是他们的官方文件: 我想知道的是,API在Android中的使用是否也会保持不变 如何在Eclipse中的A

我查看这个答案是为了了解可用的XMPP API。Smack似乎是个不错的选择

在Smack 4.1之前,必须依赖aSmack。从4.1开始,Smack将在Android上本机运行。我有几个“入门”问题

问题1:
我如何在Eclipse的Android项目中包含Smack 4.1?
这里的说明似乎是针对Android Studio的

问题2:
Android的代码会保持不变吗?
我在这里指的是他们的官方文件:
我想知道的是,API在Android中的使用是否也会保持不变

如何在Eclipse中的Android项目中包含Smack 4.1

就像在EclipseAndroid项目中包含任何其他Java库一样。通过将
.jar
文件放在
libs/
目录中,Eclipse的Android插件Android Ant build系统将使它们可用于项目类路径,并将它们包含在生成的
.apk

Smack 4.1的特点是,它是高度模块化的。如果你想在Android上有一个功能齐全的Smack,你需要大约11个
.jar
文件。现在,您可以使用使用gradle的Android Studio,这种方式包括Smack,就像添加

dependencies {
  compile "org.igniterealtime.smack:smack-android:4.1.0-rc1"
  compile "org.igniterealtime.smack:smack-tcp:4.1.0-rc1"
  // optional features
  compile "org.igniterealtime.smack:smack-android-extensions:4.1.0-rc1"
}
gradle将负责解决可传递依赖关系

、Android Studio或Android gradle插件(准确地说)不支持下载和调试源附件1。在使用开源库时,这显然是您想要的

例如,这就是我自己不使用gradle插件的原因之一。当时我无法开发Smack(我也喜欢Eclipse,但那是另一回事)

因此,我们重新开始为我们的Android项目使用Eclipse/Ant。Smack 4.1自述文件告诉您使用该脚本,该脚本将自动下载工件并在更新时删除旧工件。如果将它挂接到构建过程中,它几乎与使用gradle一样好,但也支持源附件

当然,您也可以手动添加11
.jar
文件,但谁愿意这样做,并在源代码存储库中拥有二进制文件呢

Android的代码会保持不变吗

是的,从Smack 4.1开始,Smack就是Smack。因此,无论您是否使用Android,都可以引用相同的javadoc。注意,aSmack也是如此,因为它只是Android的一个Smack端口


1:如果我错了,请纠正我,但上次我试过了,这是不可能的。同时情况可能会有所好转。

看看@Naveentamakar我不知道这与我的问题有什么关系。@Naveentamakar这些是不同的库,如果我没记错的话,它们都使用过时的(a)Smack库。一个甚至是2008年(6岁!)。下载并调试源附件。那是什么?:)基本上:当调试器能够在单步执行时显示库的源代码时。@Flow我设法使它在我的Android设备上工作。构建器需要很长时间(~3秒),但之后速度很快。@Flow Hi,添加了三个依赖项,就像您在gradle文件中所做的那样,但在同步之后,我无法解决所有三个依赖项的错误。怎么办?嗨,我正面临smack 4.1的问题,请看一看