Dev Tamil
Dev Tamil

Reputation: 649

Application is Crashing when running starts in android 4.4 ( NoClassDefFoundError )

Application is Crashing when running starts in android 4.4 and showing NoClassDefFoundError. But working correctly in other android version upto 6.0. i am using fragment activity here. Error shown below.

  public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

        setContentView(R.layout.activity_main);
        if (savedInstanceState == null) {
            FragmentManager fragmentManager = getFragmentManager();
            FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
            LoginPatternFragment loginFragement = new LoginPatternFragment();
            fragmentTransaction.add(R.id.fragement, loginFragement);
            fragmentTransaction.commit();
        }
    }

ERROR:

 E/memtrack: Couldn't load memtrack module (No such file or directory)
    E/android.os.Debug: failed to load memtrack module: -2
    E/dalvikvm: Could not find class 'com.quicknip.restaurant3.Fragment.LoginPatternFragment$13', referenced from method com.quicknip.restaurant3.Fragment.LoginPatternFragment.loginService
    E/dalvikvm: Could not find class 'com.quicknip.restaurant3.Fragment.LoginPatternFragment$1', referenced from method com.quicknip.restaurant3.Fragment.LoginPatternFragment.onCreateView
    E/GMPM: Task exception on worker thread: java.lang.NoClassDefFoundError: com.google.android.gms.R$string: com.google.android.gms.measurement.zza.<init>(Unknown Source)
    E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.quicknip.restaurant3, PID: 2733
    java.lang.NoClassDefFoundError: com.quicknip.restaurant3.Fragment.LoginPatternFragment$1
    at com.quicknip.restaurant3.Fragment.LoginPatternFragment.onCreateView(LoginPatternFragment.java:59)

Upvotes: 2

Views: 99

Answers (2)

Dev Tamil
Dev Tamil

Reputation: 649

Finally i found the answer.

By replacing

compile 'com.google.android.gms:play-services:8.4.0'

to

compile 'com.google.android.gms:play-services-analytics:8.4.0'
compile 'com.google.android.gms:play-services-gcm:8.4.0'
compile 'com.google.android.gms:play-services-location:8.4.0'
compile 'com.google.android.gms:play-services-plus:8.4.0'

this works for me.

Upvotes: 1

Abhishek
Abhishek

Reputation: 1674

Create a class like this

class MyApplication extends Application {

@Override
protected void attachBaseContext(Context base) {
  super.attachBaseContext(base);
  MultiDex.install(this);
}
}

In your AndroidManifest, add a name attribute to your application tag:

<application name=".MyApplication"

Upvotes: 1

Related Questions