Estoy usando la biblioteca CircledImageView. Funciona bien en las versiones de android lollipop+. Pero en kitkat se está estrellando. Así que después de buscar en google. Descubrí 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 verdadero
multiDexEnabled truePero cuando ejecuto la aplicación, aparece 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)Intente incluir compile 'com.android.support:multidex:1.0.1' en su archivo build.gradle .
compruebe los siguientes pasos estos pasos
1) Agregue dependencia en su archivo build.gradle:
compile 'com.android.support:multidex:1.0.0'2) Habilite multidex y establezca 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 de aplicación, agregue 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"MultiDexApplication .build.gradle habilite multidexing e incluya la dependencia del paquete compile 'com.android.support:multidex:1.0.1' .MultiDexApplication