I got a NoClassDefFoundError on Running the app in lollipop device.But in kitkat version,the application working fine.
I have pointed out the error line in below code.
StackTrace:
07-31 02:48:23.337 13673-13673/com.ms.ha E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.ms.ha, PID: 13673
java.lang.NoClassDefFoundError: com.parse.ParseOkHttpClient$CountingOkHttpRequestBody
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:308)
at com.activeandroid.ReflectionUtils.getModelClasses(ReflectionUtils.java:83)
at com.activeandroid.DatabaseHelper.onCreate(DatabaseHelper.java:46)
at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:251)
at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163)
at com.activeandroid.Registry.openDatabase(Registry.java:149)
at com.activeandroid.Registry.initialize(Registry.java:107)
at com.activeandroid.ActiveAndroid.initialize(ActiveAndroid.java:8)
at com.ms.ha.fragment.HomeFirstFragment.onCreateView(HomeFirstFragment.java:73)
at android.app.Fragment.performCreateView(Fragment.java:2053)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:894)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067)
at android.app.BackStackRecord.run(BackStackRecord.java:833)
at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1452)
at android.app.Activity.performStart(Activity.java:5948)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2261)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
HomeFirstFragment.java:
public class HomeFirstFragment extends BaseFragment implements OnClickListener {
SharedPreferences prefdatabase;
private static String DB_PATH = "/data/data/com.ms.ha/databases/";
private static final String DATABASE_NAME = "appdb";
SharedPreferences.Editor eDIT;
private String path = Environment.getExternalStorageDirectory()
.getAbsolutePath() + "/AndroidApp";
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragmetn_home, container, false);
if (file.exists())
{
try {
ActiveAndroid.initialize(getActivity()); ----> Error line
initializeDatabase();
} catch (Exception e) {
}
eDIT.putString("Value","true");
eDIT.commit();
} else {
System.out.println("2ND");
try {
eDIT.putString("Value","true");
eDIT.commit();
}
catch (Exception e)
{
e.printStackTrace();
}
}
return view;
}
}
Manifest:
<application
android:name="com.ms.ha.activity.Application"
android:allowBackup="true"
android:icon="@drawable/icon_114x114"
android:label="@string/app_name"
android:windowSoftInputMode="stateHidden|adjustResize"
android:theme="@style/AppTheme">
.....
.....
<meta-data
android:name="AA_DB_NAME"
android:value="appdb" />
<meta-data
android:name="AA_DB_VERSION"
android:value="1" />
</application>
Application.java:
public class Application extends android.app.Application {
public Application() {
}
@Override
public void onCreate() {
super.onCreate();
// Initialize the Parse SDK.
Parse.initialize(this, "", "");
PushService.setDefaultPushCallback(this, MainActivity.class);
ParseInstallation.getCurrentInstallation().saveInBackground();
}
}
build.gradle:
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:22.0.+'
compile files('libs/Parse-1.9.3.jar')
compile files('libs/bolts-android-1.2.0.jar')
compile files('libs/activeandroid-3.0.jar')
}
I am not sure why it is working in kitkat version not in lollipop version.I have updated the appcompat lib to 22.But still error occurred at runtime.Anyone can help me with this.Thank you.
I had the same problem. But I download the beta version and build it. Everything worked fine. Download beta version 3.1 from here.