title: java.lang.IllegalAccessError class ref in preverified class resolved to unexpected implementation
body: <p>Im getting an "java.lang.IllegalAccessError class ref in preverified class resolved to unexpected implementation" error when I push a button that starts a method in MainActivity which is supposed to start a new Activity.  What can I do to fix this?  This is my first attempt to make an android application, so ill need step by step instructions :)</p>
  
  <p>Also I havent been able to test if it works yet, but if you notice anything wrong with my AugiActivity service implementation or the local broadcast implementation feel free to let me know.</p>
  
  <p>Thanks!</p>
  
  <p>fyi: MainActivity starts Navigation Activity, which starts Service AugiActivity</p>
  
  <p>Augi activity sends local broadcast messages to Navigation</p>
  
  <p>LogCat:</p>
  
  <pre><code>03-24 20:01:56.632: E/AndroidRuntime(11183): FATAL EXCEPTION: main
  03-24 20:01:56.632: E/AndroidRuntime(11183): java.lang.IllegalStateException: Could not     
  execute method of the activity
  03-24 20:01:56.632: E/AndroidRuntime(11183): at 
  android.view.View$1.onClick(View.java:2154)
  03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
  android.view.View.performClick(View.java:2537)
  03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
  android.view.View$PerformClick.run(View.java:9157)
  03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
  android.os.Handler.handleCallback(Handler.java:587)
  03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
  android.os.Handler.dispatchMessage(Handler.java:92)
  03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
  android.os.Looper.loop(Looper.java:130)
  03-24 20:01:56.632: E/AndroidRuntime(11183):    at   
  android.app.ActivityThread.main(ActivityThread.java:3687)
  03-24 20:01:56.632: E/AndroidRuntime(11183):    at   
  java.lang.reflect.Method.invokeNative(Native Method)
  03-24 20:01:56.632: E/AndroidRuntime(11183):    at   
  java.lang.reflect.Method.invoke(Method.java:507)
  03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
  com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
  03-24 20:01:56.632: E/AndroidRuntime(11183):    at   
  com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
  03-24 20:01:56.632: E/AndroidRuntime(11183):    at   
  dalvik.system.NativeStart.main(Native Method)
  03-24 20:01:56.632: E/AndroidRuntime(11183): Caused by:   
  java.lang.reflect.InvocationTargetException
  03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
  java.lang.reflect.Method.invokeNative(Native Method)
  03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
  java.lang.reflect.Method.invoke(Method.java:507)
  03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
  android.view.View$1.onClick(View.java:2149)
  03-24 20:01:56.632: E/AndroidRuntime(11183):    ... 11 more
  03-24 20:01:56.632: E/AndroidRuntime(11183): Caused by: java.lang.NoClassDefFoundError: 
  com.example.augi_practice.Navigation
  03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
  com.example.augi_practice.MainActivity.navigation(MainActivity.java:33)
  03-24 20:01:56.632: E/AndroidRuntime(11183):    ... 14 more
  03-24 20:01:56.632: E/AndroidRuntime(11183): Caused by: java.lang.IllegalAccessError: 
  Class ref in pre-verified class resolved to unexpected implementation
  03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
  dalvik.system.DexFile.defineClass(Native Method)
  03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
  dalvik.system.DexFile.loadClassBinaryName(DexFile.java:207)
  03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
  dalvik.system.PathClassLoader.findClass(PathClassLoader.java:200)
  03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
  java.lang.ClassLoader.loadClass(ClassLoader.java:551)
  03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
  java.lang.ClassLoader.loadClass(ClassLoader.java:511)
  03-24 20:01:56.632: E/AndroidRuntime(11183):    ... 15 more
  </code></pre>
  
  <p>XML File:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.example.augi_practice"
  android:versionCode="1"
  android:versionName="1.0" &gt;
  
  &lt;uses-sdk
      android:minSdkVersion="3"
      android:targetSdkVersion="10" /&gt;
  
  &lt;uses-permission android:name="android.permission.CAMERA" /&gt;
  &lt;uses-permission android:name="android.permission.INTERNET" /&gt;
  &lt;uses-permission android:name="android.permission.BLUETOOTH" /&gt;
  &lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /&gt; 
  
  
  &lt;application
      android:allowBackup="true"
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" &gt;
      &lt;activity
          android:name="com.example.augi_practice.MainActivity"
          android:label="@string/app_name"
          android:screenOrientation="landscape" &gt;
          &lt;intent-filter&gt;
              &lt;action android:name="android.intent.action.MAIN" /&gt;
  
              &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
          &lt;/intent-filter&gt;
          &lt;intent-filter&gt;
              &lt;action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED"   
  /&gt;
          &lt;/intent-filter&gt;
      &lt;/activity&gt;
       &lt;activity
          android:name="com.example.augi_practice.Navigation"
          android:label="@string/title_activity_navigation" 
          android:screenOrientation="landscape" &gt;
      &lt;/activity&gt;
      &lt;service
          android:name="com.example.augi_practice.AugiActivity"
          android:label="@string/title_activity_augi"
          android:parentActivityName="com.example.augi_practice.Navigation"
          android:screenOrientation="landscape" &gt;
          &lt;meta-data
              android:name="android.support.PARENT_ACTIVITY"
              android:value="com.example.augi_practice.Navigation" /&gt;            
      &lt;/service&gt;       
      &lt;uses-library android:name="com.google.android.maps" /&gt;    
  &lt;/application&gt;
  
  &lt;/manifest&gt;
  </code></pre>
  
  <p>Main Activity:</p>
  
  <pre><code>package com.example.augi_practice;
  
  import ioio.lib.util.android.IOIOActivity;
  import android.os.Bundle;
  import android.app.Activity;
  import android.content.Intent;
  import android.view.Menu;
  import android.view.View;
  
  public class MainActivity extends Activity {
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
  }
  
  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.activity_main, menu);
      return true;
  }
  
  public void call_ioio(View v)
  {   
      Intent intent = new Intent(this, AugiActivity.class);
      startActivity(intent);
  }
  
  public void navigation(View v)
  {   
      Intent intent = new Intent(this, Navigation.class);
      startActivity(intent);
  }
  
  }
  </code></pre>
  
  <p>Navigation Activity:</p>
  
  <pre><code>package com.example.augi_practice;
  
  // Lots of imports here
  
  
  public class Navigation extends MapActivity implements Runnable,   
  SurfaceHolder.Callback{
  
  String LED = null;
  String MAG = null;
  String BAR = null;
  String GYRO = null;
  String EULER = null;    
  String GGA = null;
  
  private BroadcastReceiver MessageReceiver = new BroadcastReceiver()
  {
      @Override
      public void onReceive(Context context, Intent intent)
      {
          LED = intent.getStringExtra("LED");
          MAG = intent.getStringExtra("MAG");
          BAR = intent.getStringExtra("BAR");
          GYRO = intent.getStringExtra("GYRO");
          EULER = intent.getStringExtra("EULER");
          GGA = intent.getStringExtra("GGA");         
      }
  };
  
  // More global variables
  
  // Lots of gui variables here
  
  // More global variables
  
  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_navigation);
      MapView mapview = (MapView) findViewById(R.id.mapview);
      mapview.setBuiltInZoomControls(true);   
  
      getWindow().setFormat(PixelFormat.UNKNOWN);
  
      // Camera configuration settings
  
      LocalBroadcastManager.getInstance(this).registerReceiver(MessageReceiver, 
  new IntentFilter("IOIOData"));
  
      getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
  
              // Lots of links from acivity to gui 
  
      startService( new Intent(this, AugiActivity.class));        
  }
  
  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.activity_navigation, menu);
      return true;
  }
  
  @Override
  protected boolean isRouteDisplayed() {
      // TODO Auto-generated method stub
      return false;
  }
  
  @Override
  public void surfaceChanged(SurfaceHolder holder, int format, int width,
          int height) {
      // TODO Auto-generated method stub
  
  }
  
  @Override
  public void surfaceCreated(SurfaceHolder holder) {
      // TODO Auto-generated method stub
  
  }
  
  @Override
  public void surfaceDestroyed(SurfaceHolder holder) {
      // TODO Auto-generated method stub
  
  }
  
  public void sensorLayer(View v)
  {
      // Executes some code
  }
  
  public void mapLayer(View v)
  {
      // Executes some code
  }
  
  public void cameraLayer(View v)
  {
      // Executes some code
  }   
  
  @Override
  public void run() {
      //Executes some code
  }   
  }
  </code></pre>
  
  <p>Part of AugiActivity:</p>
  
  <pre><code>package com.example.augi_practice;
  
  //lots of imports here
  
  
  public class AugiActivity extends Service { 
  
  public Activity activity_name;
  
  class IOIO extends IOIOActivity {   
  
  
  // Lots of global variables
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState); 
      activity_name = this.getParent();
  }
  
  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.        
      return true;
  }
  
  class Looper extends BaseIOIOLooper {
      /** The on-board LED. */
      // Class variables
  
      public Activity activity_name;
  
      Looper(Activity x)
      {
          this.activity_name = x;
      }       
  
      // More class variables
  
      /**
      * Called every time a connection with IOIO has been established.
      * Typically used to open pins.
      *   
      * @throws ConnectionLostException
      *             When IOIO connection is lost.
       * @throws InterruptedException 
      * 
      * @see ioio.lib.util.AbstractIOIOActivity.IOIOThread#setup()
      */
          @Override
          protected void setup() throws ConnectionLostException, 
  InterruptedException 
          {
              // establish various connections here
  
              bar_calibration();      
              mag_setup();
              imu_setup();    
              try {
                  gps_setup();
              } catch (IOException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              }
          }
  
          // Various setup methods here
  
      /**
      * Called repetitively while the IOIO is connected.
      * 
      * @throws ConnectionLostException
      *             When IOIO connection is lost.
       * @throws InterruptedException 
      * 
      * @see ioio.lib.util.AbstractIOIOActivity.IOIOThread#loop()
      */
  
  
      @Override
          public void loop() throws ConnectionLostException, 
  InterruptedException 
          {           
              get_light();
  
              get_temp();
  
              get_pressure();
  
              get_north();
  
              get_imu();
  
              try {
                  get_gps();
              } catch (IOException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              }
  
              led_.write(true);   
  
              sendMessage();
          }
  
          // Various methodes to get data
  
          private void sendMessage()
          {
              Intent intent = new Intent("IOIOData");     
  
              intent.putExtra("LED", get_LED());
  
  LocalBroadcastManager.getInstance(activity_name).sendBroadcast(intent);
  
              intent.putExtra("MAG", get_MAG());
  
  LocalBroadcastManager.getInstance(activity_name).sendBroadcast(intent);
  
              intent.putExtra("BAR", get_BAR());
  
  LocalBroadcastManager.getInstance(activity_name).sendBroadcast(intent);
  
              intent.putExtra("GYRO", get_GYRO());
  
  LocalBroadcastManager.getInstance(activity_name).sendBroadcast(intent);
  
              intent.putExtra("EULER", get_EULER());
  
  LocalBroadcastManager.getInstance(activity_name).sendBroadcast(intent);
  
              intent.putExtra("GGA", gps_GGA);
  
  LocalBroadcastManager.getInstance(activity_name).sendBroadcast(intent);
          }
      }
  </code></pre>