1

Android で asmack がどのように動作するようになったかの内訳を教えてください。私は自分のアプリケーションでそれを機能させることができません。java.lang.verifyError が発生し続けます。

4

1 に答える 1

3

libs フォルダに asmack ライブラリの最新バージョン、つまりasmack-android-17-0.8.3を必ず含めてください。これを追加すると、 が削除される場合がありjava.lang.VerifyErrorます。

私は次の方法でそれを行いますが、完全に機能します。

public void login(View view)
{
     new Connection().execute("username", "password");
}

private class Connection extends AsyncTask<String, Void, Integer>
{
    private static final int CONNECTION_FAILURE = 0;
    private static final int LOGIN_FAILURE = 1;
    private static final int SUCCESS = 2;

    @Override
    protected Integer doInBackground(String... strings)
    {
        ConnectionConfiguration conConfig = new ConnectionConfiguration("192.168.1.100", 5222, "domain");
        connection = new XMPPConnection(conConfig);
  try
  {
      connection.connect();
      Log.i("AppName", "CONNECTED TO " + connection.getHost());
  }
  catch(Exception e)
  {
      Log.e("AppName", e.getMessage());
      return CONNECTION_FAILURE;
  }
  try
  {
      connection.login(strings[0], strings[1]);
      Log.i("AppName", "LOGGED IN AS " + connection.getUser());
      Presence presence = new Presence(Presence.Type.available);
      connection.sendPacket(presence);
  }
  catch(Exception e)
  {
      Log.e("AppName", e.getMessage());
      return LOGIN_FAILURE;
  }
  return SUCCESS;
    }
}
于 2013-06-16T10:07:01.623 に答える