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.
- Ejecutar un tarro multidex independiente en Android Kitkat
- Xamarin Android con multidex - error en modo de depuración
- Error: Error de ejecución para la tarea ': app: transformClassesWithDexForDebug'
- Demasiadas referencias de campo: 70613; Max es 65536
- No se puede instalar mi aplicación recientemente lanzada: Código de error: -504
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)
- La ejecución falló para la tarea ': app: shrinkReleaseMultiDexComponents'
- INSTALL_FAILED_DEXOPT Error en Android 5.0 en modo de liberación
- Error al compilar biblioteca multidex después de actualizar SDK
- RoboGuice 3.0 NoClassDefFoundError: roboguice.inject.ContextScopedRoboInjector
- NoClassDefFoundError debajo de SDK 21
- Error de ejecución para la tarea ': packageAllDebugClassesForMultiDex'
- Twitter Fabric + MultiDex causa NoClassDefFoundError
- Android Multidex RuntimeException
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
.
- Asegúrese de que la aplicación declarada en el archivo de manifiesto extiende
MultiDexApplication
. - Asegúrese de que su archivo
build.gradle
habilitó el multidexado e incluyó la dependencia del paquetecompile 'com.android.support:multidex:1.0.1'
. - 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.
- 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.
- Establecer la alarma de Android 4.4 Kitkat
- ¿Cómo puedo incluir correctamente un archivo jar externo para un plugin cordova?