64 votes

Que signifie "multiDexEnabled true"?

Qu'entend-on par "multiDexEnabled true" dans Android? Pourquoi utilisons-nous cela? Quel est l'effet s'il est activé?

65voto

IntelliJ Amiya Points 672

Application Android (APK) fichiers contiennent des exécutables fichiers bytecode dans la forme de Dalvik Executable (DEX), les fichiers qui contiennent le compilé code utilisé pour exécuter votre application. Le Dalvik Executable limites de spécification le nombre total de méthodes qui peuvent être référencés dans une seule DEX fichier à 65 536, y compris Android cadre des méthodes, des méthodes de bibliothèques, et les méthodes dans votre propre code. Aller au-delà de cette limite nécessite que vous de configurer votre application de processus de génération pour générer plus d'un DEX fichier, connu comme un multidex de configuration.

Vous devriez lire le guide officiel de la ligne sur la création d'Applications avec Plus de 64 ko Méthodes

34voto

Rohit Singh Points 1934

Les applications Android par défaut ont SingleDex de soutien qui limite votre demande seulement 65536 méthodes(références). Donc multidexEnabled = true signifie simplement que vous pouvez maintenant écrire plus de 65536 méthodes(références) dans votre application.

Mais je ne pourrai jamais écrire 65536 méthodes!

Quand nous disons que le nombre de méthodes, cela signifie

méthodes écrites par vous - + Android Cadre des méthodes de + de Tiers de la bibliothèque (par exemple, de Volley, de Rénovation, Facebook SDK, etc) des méthodes.

J'ai lu quelque part dans un post que
App Compat 24.2.1 contient 16.5 k méthodes
Google Play Services GCM 9.6.1 contient 16.7 k méthodes.
Donc, si vous avez écrit un simple Hello world ' application App Compat 24.2.1, alors votre demande est déjà 16.7 k méthodes.

Comment faire pour activer multidex soutien

il dépend minSdkVersion de votre application

Si minSdkVersion >= 21, alors vous pouvez l'activer par écrit multidexEnabled = true
si minSdkVersion <21 alors vous aurez à inclure Multidex assurer la compatibilté de la bibliothèque dans votre gradle.
En voir plus sur l'activation multidex soutien

L'avantage de multiDex

multidex permet à vos applications d'avoir plus de bibliothèques tierces.

Plus sur .dex fichiers

Les applications Android sont compilés dans un .dex de fichiers/les fichiers qui à son tour zippée pour un seul .fichier apk. .dex fichiers ont bytecode qui sont utilisés par la Machine Virtuelle Dalvik(DVM).
Vous pouvez en lire plus sur .dex et DVM

1voto

Il vous permet de créer des applications avec plus de 64 000 méthodes. Pour plus d'informations, voir ici http://developer.android.com/intl/es/tools/building/multidex.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X