Quiero usar la nueva biblioteca de soporte Multidex para romper el límite del método para una de mis aplicaciones.
Con Android Lollipop, Google introdujo una biblioteca de soporte multidex que facilita el multidex.
¿Qué pasos son necesarios para usar esta biblioteca y construir mi aplicación con soporte multidex?
android
gradle
android-multidex
Janusz
fuente
fuente
Respuestas:
Editar:
Android 5.0 (API nivel 21) y superior utiliza ART que admite multidexing. Por lo tanto, si
minSdkVersion
tiene 21 años o más, la biblioteca de soporte multidex no es necesaria.Modifica tu
build.gradle
:Si está ejecutando pruebas unitarias, querrá incluir esto en su
Application
clase:O simplemente haz que tu
application
clase se extiendaMultiDexApplication
Para más información, esta es una buena guía.
fuente
gradle-wrapper.properties
) Los puntos clave: 1 su buildToolsVersion debe ser 21.1.1 o superior. 2 agreguemultiDexEnabled true
a su configuración predeterminada de su build.gradle (observe que no hay un=
) 3 agregue el'com.android.support:multidex:1.0.0'
android:name="android.support.multidex.MultiDexApplication"
a laapplication
etiqueta esAndroidManifest.xml
suficiente?..if your minSdkVersion is set to 20 or lower you must use...
'compile 'com.android.support:multidex:1.0.1'
.Los siguientes pasos son necesarios para iniciar multi-dexing:
Agregue android-support-multidex.jar a su proyecto. El jar se puede encontrar en la carpeta del SDK de Android / sdk / extras / android / support / multidex / library / libs
Ahora puede dejar que su clase de aplicación de aplicaciones extienda MultiDexApplication
o anula attachBaseContext así:
Utilicé el enfoque de anulación porque eso no interfiere con la jerarquía de clases de su clase de aplicación.
Ahora su aplicación está lista para usar múltiples dex. El siguiente paso es convencer a Gradle para que construya un apk multi-dexed. El equipo de herramientas de compilación está trabajando para facilitar esto, pero por el momento debe agregar lo siguiente a la parte de Android de sus aplicaciones build.gradle
Y lo siguiente a la parte general de sus aplicaciones build.gradle
Se puede encontrar más información en el blog de Alex Lipovs .
fuente
SIMPLEMENTE, para habilitar multidex, necesita ...
También debe cambiar su archivo de manifiesto. En su manifiesto, agregue la clase MultiDexApplication de la biblioteca de soporte multidex al elemento de aplicación como este
fuente
android:name="android.support.multidex.MultiDexApplication
Por favor, guíame ..En su build.gradle agregue esta dependencia:
nuevamente en su archivo build.gradle agregue esta línea al bloque defaultConfig :
En lugar de extender su clase de aplicación desde Aplicación extiéndala desde MultiDexApplication ; me gusta :
ahora estás listo para irte! Y en caso de que lo necesite, todo lo que
MultiDexApplication
hace esfuente
build.gradle
AndroidManifest.xml
fuente
Paso 1: Cambiar build.grade
Paso 2: configuración en la clase de aplicación
Paso 3: Cambiar las propiedades de grado.
¡Funcionará!. Gracias.
fuente
Aquí hay un enfoque actualizado a partir de mayo de 2020, con Android X.
Para
minSdk
> = 21No necesitas hacer nada. Todos estos dispositivos usan la VM Android RunTime (ART), que admite multidex de forma nativa.
Para
minSdk
<21En su nivel de módulo
build.gradle
, asegúrese de que se completen las siguientes configuraciones:Luego,
src/main/AndroidManifest.xml
debe declararMultiDexApplication
comoapplication:name
:fuente
Añadir a AndroidManifest.xml:
O
en el método attachBaseContext de su aplicación personalizada
o su aplicación personalizada extiende MultiDexApplication
agregue multiDexEnabled = true en su build.gradle
fuente
Primero debes probar con Proguard (Esto limpia todo el código sin usar)
fuente
Si desea habilitar multi-dex en su proyecto, simplemente vaya a gradle.builder
y agregue esto en su dependencia
entonces tienes que agregar
Luego abra una clase y extiéndala a la Aplicación. Si su aplicación usa extiende la clase de Aplicación, puede anular el método oncrete () y llamar
para habilitar multidex.
y finalmente agregar a tu manifiesto
fuente
gradle.builder
?Todas las respuestas anteriores son increíbles.
También agregue esto, de lo contrario su aplicación se bloqueará como la mía sin ningún motivo
fuente
Con androidx, las bibliotecas de soporte clásicas ya no funcionan.
La solución simple es usar el siguiente código
En su
build.gradle
archivoY en su manifiesto simplemente agregue el atributo de nombre a la etiqueta de la aplicación
Si su aplicación está dirigida a API 21 o superior, multidex está habilitado de forma predeterminada.
Ahora, si desea deshacerse de muchos de los problemas que enfrenta al tratar de admitir multidex, primero intente usar la reducción de código mediante la configuración
minifyEnabled true
.fuente
simplemente agregando esto recortado en build.gradle también funciona bien
fuente
Multi_Dex.java
fuente