Java.lang.NoClassDefFoundError: android.support.v7.app.AppCompatDelegateImplV14 en Android Studio

Aquí está el registro.

java.lang.NoClassDefFoundError: android.support.v7.app.AppCompatDelegateImplV14 at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:93) at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:77) at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:429) at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:57) at com.marshall.gruppo.ui.MainScreenActivity.onCreate(MainScreenActivity.java:41) at android.app.Activity.performCreate(Activity.java:5451) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2377) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471) at android.app.ActivityThread.access$900(ActivityThread.java:175) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:146) at android.app.ActivityThread.main(ActivityThread.java:5602) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) at dalvik.system.NativeStart.main(Native Method) 

También leí un artículo que sugiere la solución ( java.lang.NoClassDefFoundError: android.support.v7.app.AppCompatDelegateImplV14 ). Me sugiere añadir lo siguiente en el archivo build.gradle.

 compile 'com.android.support:appcompat-v7:22.2.0' 

En realidad, eso ya estaba en el archivo, y parece que no es el problema original aquí. Aquí está mi archivo build.gradle.

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:22.2.0' compile project(':volley') compile project(':android-support-v4') } 

En caso de que necesite echar un vistazo a mi código, aquí está mi código que está causando el NoClassDefFoundError.

 public class MainScreenActivity extends AppCompatActivity { private DrawerLayout mDrawerLayout; private ListView mDrawerList; private ActionBarDrawerToggle mDrawerToggle; private CharSequence mDrawerTitle; private CharSequence mTitle; private String[] navMenuTitles; private TypedArray navMenuIcons; private ArrayList<NavDrawerItem> navDrawerItems; private NavDrawerListAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_mainscreen); mTitle = mDrawerTitle = getTitle(); navMenuTitles = getResources().getStringArray(R.array.drawermenu_items); navMenuIcons = getResources() .obtainTypedArray(R.array.drawermenu_icons); mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); mDrawerList = (ListView) findViewById(R.id.list_slidermenu); navDrawerItems = new ArrayList<NavDrawerItem>(); navDrawerItems.add(new NavDrawerItem(navMenuTitles[0], navMenuIcons.getResourceId(0, -1))); navDrawerItems.add(new NavDrawerItem(navMenuTitles[1], navMenuIcons.getResourceId(1, -1))); navDrawerItems.add(new NavDrawerItem(navMenuTitles[2], navMenuIcons.getResourceId(2, -1))); navDrawerItems.add(new NavDrawerItem(navMenuTitles[3], navMenuIcons.getResourceId(3, -1), true, "22")); navDrawerItems.add(new NavDrawerItem(navMenuTitles[4], navMenuIcons.getResourceId(4, -1))); navDrawerItems.add(new NavDrawerItem(navMenuTitles[5], navMenuIcons.getResourceId(5, -1), true, "50+")); navMenuIcons.recycle(); mDrawerList.setOnItemClickListener(new SlideMenuClickListener()); adapter = new NavDrawerListAdapter(getApplicationContext(), navDrawerItems); mDrawerList.setAdapter(adapter); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setHomeButtonEnabled(true); mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.app_name, R.string.app_name) { public void onDrawerClosed(View view) { getSupportActionBar().setTitle(mTitle); invalidateOptionsMenu(); } public void onDrawerOpened(View drawerView) { getSupportActionBar().setTitle(mDrawerTitle); invalidateOptionsMenu(); } }; mDrawerLayout.setDrawerListener(mDrawerToggle); if (savedInstanceState == null) { displayView(0); } } 

Aquí está el registro de errores adicional. Puede haber una pista para la solución.

 07-06 17:50:03.056 27850-27850/com.marshall.gruppo E/dalvikvm﹕ Could not find class 'android.support.v7.app.AppCompatDelegateImplV14', referenced from method android.support.v7.app.AppCompatDelegate.create 07-06 17:50:03.056 27850-27850/com.marshall.gruppo E/dalvikvm﹕ Could not find class 'android.support.v7.app.AppCompatDelegateImplV11', referenced from method android.support.v7.app.AppCompatDelegate.create 07-06 17:50:03.056 27850-27850/com.marshall.gruppo E/dalvikvm﹕ Could not find class 'android.support.v7.app.AppCompatDelegateImplV7', referenced from method android.support.v7.app.AppCompatDelegate.create 

Y aquí está el archivo xml para la actividad.

 <?xml version="1.0" encoding="UTF-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <FrameLayout android:id="@+id/frame_container" android:layout_width="match_parent" android:layout_height="match_parent" /> <ListView android:id="@+id/list_slidermenu" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:choiceMode="singleChoice" android:divider="@color/list_divider" android:dividerHeight="1dp" android:listSelector="@drawable/list_selector" android:background="@color/list_background"/> 

Puede haber un conflicto con sus dependencias

Intenta quitar

 compile project(':android-support-v4') 

Tuve el mismo error y habilitar plenamente multidex funcionó para mí. Aquí es lo que hice en gradle y archivos de manifiesto

 android { compileSdkVersion 21 buildToolsVersion "21.1.0" defaultConfig { ... minSdkVersion 14 targetSdkVersion 21 ... // Enabling multidex support. multiDexEnabled true } ... } dependencies { compile 'com.android.support:multidex:1.0.0' } 

También en mi archivo de manifiesto, tengo añadir la clase MultiDexApplication de la biblioteca de soporte multidex al elemento de aplicación como este

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android.multidex.myapplication"> <application ... android:name="android.support.multidex.MultiDexApplication"> ... </application> </manifest> 
  • Eclipse: java.lang.NoClassDefFoundError para clases JDK en un proyecto de Android
  • Android: ¿Cuándo las clases son descargadas por el sistema?
  • Añadiendo el tiempo de Joda
  • Joda Time en Eclipse: NoClassDefFoundError
  • NoClassDefFoundError en la muestra de Cocos2D
  • Java.lang.NoClassDefFoundError con todos los R classess cuando se utiliza la biblioteca de Android
  • NoClassDefFoundError al usar Dagger 2 después de cambiar a Android Studio 2.0
  • NoClassDefFoundError Android Project
  • Java.lang.NoClassDefFoundError: com.google.android.gms.common.AccountPicker
  • ¿Cómo puedo arreglar NoClassDefFoundError en Android para android.widget.PopupMenu?
  • HtmlUnit en Android: Dependencias
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.