好吧,我正在编写一个 android 应用程序,我想使用Gottox 编写的Socket.IO-Client for Java。github 中的文档专门说该库与 android 兼容。
现在我的问题有点基本。如何在 android 应用程序中使用该库?
到目前为止,我已经尝试了两种方法。
我使用命令构建了该库的 jar 文件(如库的文档中所述)
cd $PATH_TO_SOCKETIO_JAVA ant jar ls jar/socketio.jar
我在文件夹中有一个不错的 jar 库。我将那个 jar 添加到我的项目中使用
RIGHT_CLICK->Properties->Java Build Path->Add External Jars
然后我连接使用
SocketIO socket = new SocketIO("http://"+ip+":"+port+"/");
我能够编译和构建我的应用程序而没有任何错误。但是当我运行时,我在上面发布的行中遇到了异常。
java.lang.NoClassDefFoundError: io.socket.SocketIO at com.research.socketioresearch.LoginActivity.connectToSocketIO(LoginActivity.java:122) at com.research.socketioresearch.LoginActivity$1.handleMessage(LoginActivity.java:113)
作为第二次尝试,我在 Eclipse 中使用 socket.io 库源代码创建了一个 java 项目。然后我将该项目导出为 jar 文件,使用
RIGHT_CLICK->export->java->Jar File
然后我使用我在方法 1(添加外部 jars)中尝试的相同方式将该 jar 文件添加到我的原始 android 项目中。这一次我也能够编译和构建,但在同一行代码中得到了相同的异常。
现在有人成功地在 android 中使用相同的库吗?它是如何完成的?