Error en la instalación de Multidex

Estoy usando la biblioteca CircledImageView. Funciona bien en las versiones de lollipop + android. Pero en kitkat se está estrellando. Así que después de buscar en google. Me di cuenta de que tengo que implementar multidex en mi aplicación.

Así que esta es mi clase de aplicación.

public class FireApp extends Application { @Override public void onCreate() { super.onCreate(); Firebase.setAndroidContext(this); Fresco.initialize (this); } @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); } } 

Y en build.gradle bajo defaultconfig MultiDexEnabled es true

 multiDexEnabled true 

Pero cuando ejecuto la aplicación, obtengo el siguiente error.

 java.lang.NoSuchFieldException: Field dexElementsSuppressedExceptions not found in class dalvik.system.PathClassLoader at android.support.multidex.MultiDex.findField(MultiDex.java:288) at android.support.multidex.MultiDex.access$300(MultiDex.java:57) at android.support.multidex.MultiDex$V19.install(MultiDex.java:390) at android.support.multidex.MultiDex$V19.access$000(MultiDex.java:369) at android.support.multidex.MultiDex.installSecondaryDexes(MultiDex.java:242) at android.support.multidex.MultiDex.install(MultiDex.java:161) at android.support.multidex.MultiDexApplication.attachBaseContext(MultiDexApplication.java:39) at com.buckydroid.anonchat.FireApp.attachBaseContext(Unknown Source) at android.app.Application.attach(Application.java:182) at android.app.Instrumentation.newApplication(Instrumentation.java:991) at android.app.Instrumentation.newApplication(Instrumentation.java:975) at android.app.LoadedApk.makeApplication(LoadedApk.java:511) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4564) at android.app.ActivityThread.access$1500(ActivityThread.java:139) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1353) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:149) at android.app.ActivityThread.main(ActivityThread.java:5268) 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:793) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609) at dalvik.system.NativeStart.main(Native Method) 

Compruebe los pasos siguientes

1) Agregue dependencia en su archivo build.gradle:

 compile 'com.android.support:multidex:1.0.0' 

2) Habilitar multidex y establecer el tamaño del montón

 defaultConfig { applicationId "your package name" minSdkVersion 19 targetSdkVersion 23 versionCode 1 versionName "1.0" multiDexEnabled true } dexOptions { javaMaxHeapSize "4g" } 

3) En la clase Aplicación añadir esto

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

4) Agregue esto en su manifiesto en la etiqueta <application> :

 android:name=".YourApplicationClassName" 

Trate de compile 'com.android.support:multidex:1.0.1' en su archivo build.gradle .

  1. Asegúrese de que la aplicación declarada en el archivo de manifiesto extiende MultiDexApplication .
  2. Asegúrese de que su archivo build.gradle habilitó el multidexado e incluyó la dependencia del paquete compile 'com.android.support:multidex:1.0.1' .
  3. Asegúrate de que tu Android Studio no esté controlado por Fast Studio. Puede eliminar todos los directorios de compilación e instalarlos utilizando la aplicación mediante la línea de comandos.
  4. Si su aplicación tiene sabores, asegúrese de que el sabor instalado esté utilizando MultiDexApplication

Pruebe esto dentro de su archivo de nivel de aplicación build.gradle poner la siguiente línea de código

 android{ //compielsdkVersion.. //.. //.. vectorDrawables.useSupportLibrary = true } 

Y en el Activity.java que está utilizando el CircularImageView poner el siguiente bloque estático en la parte superior del método onCreate () como este

  //... //.... static { AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); } @Override protected void onCreate(Bundle savedInstanceState) { //... //... 

Agregue esta línea en su etiqueta de aplicación en su manifiesto

 android:name="android.support.multidex.MultiDexApplication" 

Soluciones anteriores están bien, pero una cosa que falta MultiDexApplication

 public class FireApp extends MultiDexApplication 

Intente incluir compile 'com.android.support:multidex:1.0.1 ' en su archivo build.gradle.

  • Método Gradle DSL no encontrado: 'multiDexEnabled ()'
  • Tratando de probar un módulo de Android en la aplicación MultiDex, com.android.test.runner.MultiDexTestRunner no se reconoce
  • Actualización de Android Studio a 1.0 corrompe MultiDex
  • Activar la opción `--multi-dex` en hormiga para Android
  • Demasiadas referencias de métodos en el proyecto de biblioteca de android - ClassNotFoundException
  • Android: SugarORM y multidex
  • ¿Hay una manera de limitar el importe del método en el archivo principal dex mientras se utiliza la función MultiDex en Android Studio
  • Android Multidex y bibliotecas de soporte
  • No se puede resolver import android.support.multidex.MultiDex después de cambiar a Multidex más reciente
  • MultiDexApplication no reconocido
  • Com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.