title: NoClassDefFoundError but class is there
body: <p>I get the following Android exception if launching the following code. I have a server - client application and an server agent which communicated with each other. Now I just get this exception in the Android application and not on the server agent. I know that this worked some time before correctly.</p>
  
  <pre><code>12-18 20:36:41.626: E/AndroidRuntime(19441): FATAL EXCEPTION: AsyncTask #1
  12-18 20:36:41.626: E/AndroidRuntime(19441): java.lang.RuntimeException: An error occured while executing doInBackground()
  12-18 20:36:41.626: E/AndroidRuntime(19441):    at android.os.AsyncTask$3.done(AsyncTask.java:299)
  12-18 20:36:41.626: E/AndroidRuntime(19441):    at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
  12-18 20:36:41.626: E/AndroidRuntime(19441):    at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
  12-18 20:36:41.626: E/AndroidRuntime(19441):    at java.util.concurrent.FutureTask.run(FutureTask.java:239)
  12-18 20:36:41.626: E/AndroidRuntime(19441):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
  12-18 20:36:41.626: E/AndroidRuntime(19441):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
  12-18 20:36:41.626: E/AndroidRuntime(19441):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
  12-18 20:36:41.626: E/AndroidRuntime(19441):    at java.lang.Thread.run(Thread.java:841)
  12-18 20:36:41.626: E/AndroidRuntime(19441): Caused by: java.lang.NoClassDefFoundError: de.hska.ilias.commons.server.Communication
  12-18 20:36:41.626: E/AndroidRuntime(19441):    at de.hska.ilias.app.client.Client.handleServerPassword(Client.java:101)
  12-18 20:36:41.626: E/AndroidRuntime(19441):    at de.hska.ilias.app.client.Client.manageHandshake(Client.java:75)
  12-18 20:36:41.626: E/AndroidRuntime(19441):    at de.hska.ilias.app.client.LoginTask.doInBackground(LoginTask.java:85)
  12-18 20:36:41.626: E/AndroidRuntime(19441):    at de.hska.ilias.app.client.LoginTask.doInBackground(LoginTask.java:1)
  12-18 20:36:41.626: E/AndroidRuntime(19441):    at android.os.AsyncTask$2.call(AsyncTask.java:287)
  12-18 20:36:41.626: E/AndroidRuntime(19441):    at java.util.concurrent.FutureTask.run(FutureTask.java:234)
  12-18 20:36:41.626: E/AndroidRuntime(19441):    ... 4 more
  12-18 20:36:41.956: E/WindowManager(19441): Activity de.hska.ilias.app.activity.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{43168430 V.E..... R......D 0,0-1026,288} that was originally added here
  12-18 20:36:41.956: E/WindowManager(19441): android.view.WindowLeaked: Activity de.hska.ilias.app.activity.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{43168430 V.E..... R......D 0,0-1026,288} that was originally added here
  12-18 20:36:41.956: E/WindowManager(19441):     at android.view.ViewRootImpl.&lt;init&gt;(ViewRootImpl.java:450)
  12-18 20:36:41.956: E/WindowManager(19441):     at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:258)
  12-18 20:36:41.956: E/WindowManager(19441):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:73)
  12-18 20:36:41.956: E/WindowManager(19441):     at android.app.Dialog.show(Dialog.java:287)
  12-18 20:36:41.956: E/WindowManager(19441):     at de.hska.ilias.app.client.LoginTask.onPreExecute(LoginTask.java:73)
  12-18 20:36:41.956: E/WindowManager(19441):     at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:586)
  12-18 20:36:41.956: E/WindowManager(19441):     at android.os.AsyncTask.execute(AsyncTask.java:534)
  12-18 20:36:41.956: E/WindowManager(19441):     at de.hska.ilias.app.client.Client.tryConnect(Client.java:44)
  12-18 20:36:41.956: E/WindowManager(19441):     at de.hska.ilias.app.ui.action.LoginAction.onClick(LoginAction.java:77)
  12-18 20:36:41.956: E/WindowManager(19441):     at android.view.View.performClick(View.java:4475)
  12-18 20:36:41.956: E/WindowManager(19441):     at android.view.View$PerformClick.run(View.java:18786)
  12-18 20:36:41.956: E/WindowManager(19441):     at android.os.Handler.handleCallback(Handler.java:730)
  12-18 20:36:41.956: E/WindowManager(19441):     at android.os.Handler.dispatchMessage(Handler.java:92)
  12-18 20:36:41.956: E/WindowManager(19441):     at android.os.Looper.loop(Looper.java:137)
  12-18 20:36:41.956: E/WindowManager(19441):     at android.app.ActivityThread.main(ActivityThread.java:5419)
  12-18 20:36:41.956: E/WindowManager(19441):     at java.lang.reflect.Method.invokeNative(Native Method)
  12-18 20:36:41.956: E/WindowManager(19441):     at java.lang.reflect.Method.invoke(Method.java:525)
  12-18 20:36:41.956: E/WindowManager(19441):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
  12-18 20:36:41.956: E/WindowManager(19441):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
  12-18 20:36:41.956: E/WindowManager(19441):     at dalvik.system.NativeStart.main(Native Method)
  </code></pre>
  
  <p>Where the exception comes from:</p>
  
  <pre><code>  private void handleServerPassword() throws ServerPasswordException
    {
      try
      {
        **if (Communication.rcvLineServerPasswordReq(input))**
        {
          Communication.sndServerPasswordAck(output);
          Communication.sndServerPassword(output);
        }
        else
          throw new ServerPasswordException();
      }
      catch (ServerPasswordException e)
      {
        throw new ServerPasswordException("Handling password communication failed.");
      }
    }
  </code></pre>