4

さて、私はAndroidアプリケーションを書いていて、Gottoxによって書かれたJava用のSocket.IO-Clientを使いたいと思っています。github のドキュメントには、ライブラリが Android と互換性があると具体的に書かれています。

今、私の質問はやや基本的です。Androidアプリでそのライブラリを使用するには?

これまでのところ、2つの方法を試しました。

  1. コマンドを使用してそのライブラリの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)
    
  2. 2 回目の試みとして、Eclipse で socket.io ライブラリーのソース・コードを使用して Java プロジェクトを作成しました。次に、そのプロジェクトをjarファイルとしてエクスポートしました

    RIGHT_CLICK->export->java->Jar File
    

    次に、方法 1 (外部 jar の追加) で試したのと同じ方法で、その jar ファイルを元の Android プロジェクトに追加しました。今回もコンパイルとビルドはできましたが、同じコード行で同じ例外が発生しました。

Androidで同じライブラリを使用することに成功した人はいますか? それはどのように行われますか?

4

1 に答える 1

1

まあ、私はそれを自分で動作させました..

  1. 質問で述べた最初の方法を使用すると、パスにjarファイルが作成されます

    PATH_TO_SOCKETIO_JAVA/jar/socket.jar
    
  2. Android プロジェクトで、「libs」というフォルダーを作成します (まだ存在しない場合)。
  3. そのjarファイルを「libs」フォルダーにコピーします。
  4. Eclipse に移動し、Android プロジェクトを更新します。

プロジェクトのプロパティで [Add external Jars] ボタンを使用して jar ファイルを追加しても機能しない理由はまだわかりません。どちらもライブラリをプロジェクトに追加しますよね?

于 2012-07-16T12:03:25.510 に答える