2013-06-02 3 views
1

Пожалуйста, вы можете помочь с разбивкой того, как вы получили asmack, работающий в вашем Android. Я не могу заставить его работать для моего приложения. Я продолжаю получать java.lang.verifyError.Как добавить и настроить asmack в android

+1

Вы следовали инструкциям в README от aSmack? – Flow

ответ

3

Обязательно укажите последнюю версию i.e. asmack-android-17-0.8.3 библиотеки asmack в папке libs. Это может быть сделано 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; 
    } 
} 
+0

@ user1907588 Вы пытались использовать последнюю версию библиотеки asmack. –

+0

Мне пришлось пройти долгий процесс, чтобы выяснить третий параметр. Это не было зарегистрировано здесь: https://github.com/Flowdalic/asmack/blob/master/static-src/custom/org/jivesoftware/smack/AndroidConnectionConfiguration.java –