Je souhaite utiliser la nouvelle bibliothèque de support Multidex pour briser la limite de méthode pour l'une de mes applications.
Avec Android Lollipop, Google a introduit une bibliothèque de support multidex qui facilite le multidex.
Quelles étapes sont nécessaires pour utiliser cette bibliothèque et pour créer mon application avec la prise en charge du multidex?
android
gradle
android-multidex
Janusz
la source
la source
Réponses:
Éditer:
Android 5.0 (niveau d'API 21) et supérieur utilise ART qui prend en charge le multidexing. Par conséquent, si vous avez
minSdkVersion
21 ans ou plus, la bibliothèque de prise en charge multidex n'est pas nécessaire.Modifiez votre
build.gradle
:Si vous exécutez des tests unitaires, vous souhaiterez l'inclure dans votre
Application
classe:Ou faites simplement
application
prolonger votre classeMultiDexApplication
Pour plus d'informations, c'est un bon guide.
la source
gradle-wrapper.properties
) Les points clés: 1 votre buildToolsVersion doit être 21.1.1 ou supérieur. 2 ajoutezmultiDexEnabled true
à votre defaultConfig de votre build.gradle (notez qu'il n'y a pas a=
) 3 ajoutez le'com.android.support:multidex:1.0.0'
android:name="android.support.multidex.MultiDexApplication"
auapplication
tag est-ilAndroidManifest.xml
suffisant?..if your minSdkVersion is set to 20 or lower you must use...
'compile 'com.android.support:multidex:1.0.1'
.Les étapes suivantes sont nécessaires pour démarrer le multi dexing:
Ajoutez android-support-multidex.jar à votre projet. Le fichier jar se trouve dans votre dossier Android SDK / sdk / extras / android / support / multidex / library / libs
Maintenant, vous laissez la classe d'application de vos applications étendre MultiDexApplication
ou vous remplacez attachBaseContext comme ceci:
J'ai utilisé l'approche de remplacement car cela ne gêne pas la hiérarchie de classes de votre classe d'application.
Votre application est maintenant prête à utiliser multi dex. La prochaine étape consiste à convaincre gradle de créer un apk multi dexed. L'équipe des outils de build s'efforce de rendre cela plus facile, mais pour le moment, vous devez ajouter ce qui suit à la partie Android de vos applications build.gradle
Et ce qui suit à la partie générale de vos applications build.gradle
Plus d'informations peuvent être trouvées sur le blog d'Alex Lipovs .
la source
SIMPLEMENT, pour activer le multidex, vous devez ...
vous devez également modifier votre fichier manifeste. Dans votre manifeste, ajoutez la classe MultiDexApplication de la bibliothèque de prise en charge multidex à l'élément d'application comme ceci
la source
android:name="android.support.multidex.MultiDexApplication
Please guide me ..Dans votre build.gradle, ajoutez cette dépendance:
à nouveau dans votre fichier build.gradle , ajoutez cette ligne au bloc defaultConfig :
Au lieu d'étendre votre classe d' application depuis Application, étendez-la depuis MultiDexApplication ; comme :
maintenant vous êtes prêt à partir! Et au cas où vous en auriez besoin, tout
MultiDexApplication
est faitla source
build.gradle
AndroidManifest.xml
la source
Étape 1: modifier build.grade
Étape 2: configuration sur la classe Application
Étape 3: Changer grade.properties
Ça va marcher!. Merci.
la source
Voici une approche à jour à partir de mai 2020, avec Android X.
Pour
minSdk
> = 21Vous n'avez pas besoin de faire quoi que ce soit. Tous ces appareils utilisent la machine virtuelle Android RunTime (ART), qui prend en charge le multidex de manière native.
Pour
minSdk
<21Dans votre module -level
build.gradle
, assurez-vous que les configurations suivantes sont remplies:Ensuite, vous devez
src/main/AndroidManifest.xml
déclarerMultiDexApplication
comme suitapplication:name
:la source
Ajouter à AndroidManifest.xml:
OU
dans la méthode attachBaseContext de votre application personnalisée
ou votre application personnalisée étend MultiDexApplication
ajoutez multiDexEnabled = true dans votre build.gradle
la source
Vous devez d'abord essayer avec Proguard (ce nettoyage de tout le code inutilisé)
la source
Si vous souhaitez activer le multi-dex dans votre projet, accédez simplement à gradle.builder
et ajoutez ceci dans votre dépendance
alors tu dois ajouter
Ensuite, ouvrez une classe et étendez-la à Application Si votre application utilise étend la classe Application, vous pouvez remplacer la méthode oncrete () et appeler
pour activer multidex.
et enfin ajouter dans votre manifeste
la source
gradle.builder
?Toutes les réponses ci-dessus sont géniales
Ajoutez également ceci, sinon votre application plantera comme la mienne sans aucune raison
la source
Avec androidx, les bibliothèques de support classiques ne fonctionnent plus.
Une solution simple consiste à utiliser le code suivant
Dans votre
build.gradle
dossierEt dans votre manifeste, ajoutez simplement l'attribut de nom à la balise d'application
Si votre application cible l'API 21 ou supérieure, le multidex est activé par défaut.
Maintenant, si vous voulez vous débarrasser de nombreux problèmes auxquels vous êtes confronté en essayant de prendre en charge le multidex, essayez d'abord d'utiliser la réduction du code en définissant
minifyEnabled true
.la source
le simple fait d'ajouter ce découpé dans le build.gradle fonctionne également très bien
la source
Multi_Dex.java
la source