I had this error when using the android plugin with unity 3d and estimote sdk: ClassDefNotFoundError
I needed to start estimote service but it did not work inside a normal Class. So the solution was using fragments and adding it inside the class called from unity like this
fragment = new BeaconsFragment();
android.app.FragmentManager fragmentManager = UnityPlayer.currentActivity.getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(fragment, "thread_beacons");
fragmentTransaction.commit();
This fragment is added without layout, then inside you can implement all the methods, like in a normal activity.