Différence entre AAR, JAR, DEX, APK dans Android

dans les systèmes Android ou les environnements de développement, quelles sont les différences entre les fichiers AAR, JAR, DEX et APK? Quel est le but de chacun?

autant que je sache, JAR sont comme une collection de .fichiers de classe (comme en Java).

AAR sont des fichiers JAR + ressources. Mais quelle est son utilisation? À utiliser pour distribuer des bibliothèques de développement pour Android?

APK semble être similaire à l'paquets comme .deb ou .tr / min. Est-ce la seule façon d'installer des applications sur Android?

Qu'en est-il des fichiers DEX? Les applications compilées... mais quelle est la différence avec un fichier JAR ou AAR?

Moreveor, lors de la distribution .donc (code natif) les fichiers pour Android, Quelle est la meilleure façon de le faire?

15
demandé sur sapito 2015-11-05 01:33:59

2 réponses

JAR (Java Archive)

JAR est un format de fichier package conçu pour la distribution de L'application Java sur sa plate-forme. Il contient des fichiers de classe Java compilés + d'autres fichiers comme MANIFEST. Fondamentalement, c'est juste une archive ZIP avec quelques restrictions.

DEX (Dalvik Executable)

DEX est un format de fichier binaire, il est donc compilé. On pourrait dire, que .dex le fichier est pour DVM (Dalvik Virtual Machine) quelque chose comme .classe fichiers pour la JVM.

le format de fichier DEX est vraiment généré à partir de fichiers de classe java par le compilateur dex à partir du SDK Android. Ce compilateur traduit JVM bytecode en DVM bytecode et place tous les fichiers de classe dans un fichier dex.

APK (Android Application Package)

APK est le format de fichier conçu pour distribuer L'application Android sur sa plate-forme. Il a quelques similitudes avec le format JAR. Encore une fois, c'est simplement une archive ZIP, mais les fichiers APK ont une structure spécifique prédéfinie. Pour exemple, il doit toujours contient un fichier nommé AndroidManifest.xml et bien d'autres. Ce paquet regroupe également les classes compilées au format dex.

AAR

AAR est la distribution binaire d'un projet de bibliothèque Android. Sa structure est similaire à celle de L'APK.

19
répondu hradecek 2015-11-04 22:56:42

JAR sont comme une collection de .fichiers de classe (comme en Java).

c'est parce Qu'elle un bocal Java.

AAR sont les fichiers JAR + ressources

Correct.

Correct.

APK semble être similaire à des paquets comme .deb ou .tr / min. Est-ce la seule façon d'installer des applications sur Android?

d'une manière générale, oui.

Qu'en est-il des fichiers DEX?

les fichiers DEX contiennent les bytecodes Dalvik compilés de manière croisée et représentant le code de l'application. Les développeurs écrire Java, mais Android pistes bytecode Dalvik. Dans L'APK, vous trouverez un fichier DEX représentant ces bytecodes.

Moreveor, lors de la distribution .so (code natif)) fichiers pour Android, quelle est la meilleure façon de le faire?

je ne sais pas ce que vous entendez par "distribution".

si vous voulez dire "distribuer une application", votre .so les fichiers seront dans L'APK.

si vous voulez dire "distribuer comme une bibliothèque pour d'autres développeurs", utilisez un AAR ou tout simplement un projet Android sous forme de source.

14
répondu CommonsWare 2018-08-21 13:49:34